Welche DB-Technologie für Wissensdatenbank (Domainübergreifend)? Wie Designen?

Hell-Spawn

Benutzer
Beiträge
6
Hallo liebe Community,

ich habe vor eine Wissensdatenbank (Content/Medien-Bibliothek) zu basteln.

Mein Vorhaben ist recht komplex und soll mit der Zeit wachsen, sowie mein Wissen über die Thematik wächst.

Da ich keinen festen Fuß in einen der Bereiche oder verwandte Technologien habe, habe ich etliche Fragen. Durch mein fehlendes spezifisches Wissen, fehlt mir auch die nötige Terminologie um meine Fragen effektiv und akkurat zu kommunizieren.

Was steht mir direkt im Weg um anzufangen?

Hier ist meine Einschätzung:


I. Wissensbereiche die gemappt werden sollen

II. Umgebende Datenbank-Technologie festlegen

III. Beide vorherigen Punkte zusammenbringen und Datenbank-Design erstellen


Besonderheiten:

I. Die Wissensdatenbank soll wachen.

Die Wissensdatenbank soll mehrere Domains erfassen.

II. relational database, Graph-database, owl, rdf, ontologies, taxonomies

neo4j, theBrain, protégé

III. Ich habe schon sehr viele notizen gesammelt, wie ich die Daten strukturieren würden, allerdings ist es etwas sinnlos, da ich es freihand mache und mich auf keine „design-logik“ stütze die mit den Technologien kommt.


So, wie kombinieren ich das nun?

Es wirkt so, als ob die größten Probleme daher stammen, dass ich mich nicht innerhalb einer Domain befinde sondern, Verbindungen zu mehreren ziehen will. Doch wie stellt man so was an? Erstellt man seine eigene Domain, welche Grundlage bietet die involvierten anderen zu verbinden?

Personen (/Organisationen)

Content (Eine übergeordnete Kategorie die neue (digitale medien formate) und alte (medien formate) verbindet.

Quellen Digitale Medien Quellen. Plattform-spezifische Channel (youtube, bitchute, twitter usw), Offizielle Website, usw.


Das sind grob die 3 Punkte die ich verbinden möchte.
Natürlich kommen zu jeden Punkt noch weitere Bereiche dazu:
Personen (geb. gestorben, land, sprache, gelernt, beschäftigungen, position, werke, bekannt für, wird erwähnt in, mitgliedschaft in organisationen/bewegungen)
-> Onlinepräsens
Organisationen (Hierarchie, Kooperationen, Branche, Finanzierung, Rechtl. Unternehmensform)
-> Onlinepräsens
Content - Event
- Erstellung/Produktion (Personen, Organisationen, ihre Rolle und Position),
- Verbreitung (Onlinepräsens – Mirrors)
- Format.1(Vorlesung/Interview..)
- MedienFormat
„Analog & Mainstream“ (print, tv, magazine, bücher)
Digital (audio (podcast), text (blog, artikel, kommentar), video (vorlesung, vlog, show)
Bereitgestellte Informationsblätter (Slides, Links, Erwähnungen)
- Content Analyse (Links, Personen, Content, Zitate usw. selbst rausschreiben und hinzufügen.
Quelle - Person/Organisation
- Onlinepräsens (website, plattformen)



Hoffentlich hilft euch das etwas weiter, um euch einen kleinen Einblick in mein Vorhaben zu gewehren.
Man merkt, dass es einige Schwierigkeiten mit der Terminologie gibt. Das liegt daran, dass in den alternativen Medien keine so klare Struktur vorhanden ist. Ein Content Creator setzt sich nicht hin und schreibt credits. Da die meisten Schritte vom Content Creator selbst erfüllt werden (produzieren, filmen, cutten, schreiben usw), sieht er es als nicht notwendig an. In den Bereichen kann es sehr schwierig werden eine Grenze zu bestimmen. Z.B. wenn jemand einen Stream hat und jemand zu Gast ist, ist der Gast nicht direkt für die Produktion verantwortlich. Personen sind also auf unterschiedlicher weise mit Content Verbunden. In der Erstellung und Produktion aber auch in der Erscheinung.


Um es vorerst zum Ende zu bringen, werde ich versuchen auf was praktischen umzuschwenken. Datenbank-Technologie.

SQL hat mich irgendwie abgeschreckt, obwohl ich mit der Technologie schon öfters in Kontakt gekommen bin (sie zu benutzen und nicht zu designen). Was mich abgeschreckt hatte, war die Tatsache dass man mit einem fertigen Design starten muss. Wenn ich physische Dinge Mappen will, oder klare Prozesse wie sie in Unternehmen vorkommen, hätte ich wahrscheinlich großen Probleme damit. Meine abstrakte Medienwelt bietet mir das leider nur begrenzt. Außerdem habe ich das Gefühl dass ich auch abstraktere Konzepte aufnehmen will. Des Weiteren muss ich sagen, dass ich Schwierigkeiten habe, unter diesen Bedingungen, meine Datensätze mit Verbindungen zu beschreiben, die lediglich eine Mengenangabe sind (entschuldigt für die reduzierte form).

Wenn ich dann in Graph-Datenbanken reingeguckt habe, war ich überrascht über die Freiheit der Verbindungen, jedoch merkte ich schnell, dass es zu „frei“ gestaltet war und ich gerne Strukturen erstellen wollte, die sich wiederholen. Außerdem fand ich es sehr irritierend dass die Designebene auch die Anwendungsebene ist. Das irritiert mich extrem, da man in dr gleichen Ansicht mit Punkten arbeitet die wirkliche Entitäten sind und an anderen stellen Punkte hat die scheinbar reine Strukturelemente sind. Die Beschreibung/Titel der Datensätzen hat mich auch sehr irritiert. Hierbei denke ich an Neo4j und noch so ein anderen Programm wo ich reingeguckt habe. TheBrain war schon wesentlich angenehmer, jedoch miserabel von den Funktionen. Wieder nach den Motto „frei nach Laune aber wehe du willst Struktur designen“. Da gibt es dann so Probleme, wie dass Punkte nicht mehr als einer Gruppe angehören können oder man z.B. 2 Punkte nicht 2x verbinden kann. D.H. man müsste doppelte Einträge schaffen… Das alles endet einfach nur in einer Chaotischen Informationshölle, außer man erstellt jedoch für jede kleine Themenwelt ein separates „brain“. Das steht natürlich im Gegensatz zu einem wachsenden Wissensnetzwerk.

Als letztes komme ich zu Protégé, wo von ich sehr angetan war. All die Möglichkeiten Daten zu verbinden, Strukturelemente zu schaffen, Gruppen, Untergruppen, Vererbungen usw. hat mich wirklich beeindruckt. Da kam das Gefühl auf, dass ich in das Datenbankdesign jegliche Verbindungen Strukturen kann, sodass man von einem System sprechen könnte; was mich fragen lies, ob mein Wissensnetzwerk überhaupt nur mit einer Datenbank-Technologie realisierbar wäre und ob ich viele Funktionen, die ich gerne haben würde, der Datenbank-Technologie (Design) zuschreibe obwohl eine andere Technologie dafür verantwortlich wäre.
Meine Problematik mit Protégé war, dass nur sehr wenig Dokumentationen darüber zu finden sind. Es gibt ein paar gute Informationen, jedoch wird viel vorausgesetzt. Ich denke wenn ich weiß, dass der Weg mit Protégé der richtige für mich wäre und ich etwas Klarheit darin bekomme wie ich meine Bereiche in der Technologie richtig Mappe/Designe, dann sollte das schon klappen^^



Was meint ihr?
Was wäre die richtige Datenbank-Technologie und wie starte ich den Designprozess in Verbindung mit meinen Projekt?

Ich bedanke mich sehr herzlich fürs lesen. Falls Fragen bestehen, zögert nicht diese zu stellen; ich werde gerne auf spezifische Fragen eingehen um Klarheit zu schaffen. Generell bin ich an einem Dialog interessiert, falls ihr es seit.
Falls man abgeschreckt sein sollte, was nötig ist um mich auf den Weg zu bringen, bin ich auch bereit für eine Aufwandsentschädigung aufzukommen besonders durch Kommunikation über Voice-Chat (Skype oder so).


Lieben Gruß und ein angenehmes Wochenende.
 
Werbung:
Hallo Duke,

das ist eine interessante Frage. Als ersten bin ich auch über das Thema "MediaWiki" und "Semantic Web" gestolpert.
Besonders im Hinblick auf unterschiedliche "Ansichten" Kategorisierung, Listen usw. habe ich auch an Wiki gedacht.

Doch basiert Wiki nicht auch auf einer Datenbank-, oder Ontologie Technologie?

Ist sehr schwer herauszufinden wie man sowas richtig umsetzen würde.
Ich weiß auch nicht welcher Bereich der beste Anlaufpunkt dafür wäre. Muss wahrscheinlich in einige Communites parallel reinschauen
 
Die Datenbank werden in solchen Systemen meist nur als Datenablage genutzt und keine Fancy Dinge damit gemacht. Die Logik wird dabei in der Applikation und nicht in der DB umgesetzt.
Wenn man einfach nur Daten nutzen möchte und die Anforderungen eines Wikis oder anderen Tools reichen würde ich das einfach nutzen.
 
Es gibt auch Wiki Systeme die keine Datenbank (wie z.B. PostgreSQL) nutzen sondern die Information/Daten einfach in Dateien speichern.
 
Die Datenbank werden in solchen Systemen meist nur als Datenablage genutzt und keine Fancy Dinge damit gemacht. Die Logik wird dabei in der Applikation und nicht in der DB umgesetzt.
Wenn man einfach nur Daten nutzen möchte und die Anforderungen eines Wikis oder anderen Tools reichen würde ich das einfach nutzen.

Verstehe ich das richtig: Es macht sinn die zwei Bereiche (Datenablage -> Datenbank-Technologie) von der Logik zu trennen? Mein Erwartung war ja scheinbar dass ich die Logik innerhalb der Datenbank-Technologie festlegen kann. Mit Logik meinen wir beide die Struktur und Design des Wissensnetzwerkes und nicht das Design der Ablage für die Datensätze, richtig?

Wenn das so richtig ist, macht es wirklich sinn mehr in die Wiki's bzw Tools reinzugucken.

Fallen dir da spezielle ein? oder ein Term für diese außer MediaWiki usw?

Es gibt auch Wiki Systeme die keine Datenbank (wie z.B. PostgreSQL) nutzen sondern die Information/Daten einfach in Dateien speichern.

Meinst du damit dass diese Wiki Systeme intern eine dokumentenbasierte Datenbank nutzen?
 
Du kannst die Logik (die Taxonomie) sowohl in der DB abbilden, als auch in der Anwendung und die DB nur als Datenablage nutzen.
Wenn du das ganze in der DB umsetzen willst bist du recht star und brauchst z.B. für jedes neue Wissensgebiet oder erweiterung neu Datenbanken, Tabellen oder Spalten. Wenn du das Flexibel machen willst (Json, EVA-Pronzip) dann brauchst du wiederrum viel Logik in der Applikation.
Wenn du das von Grund auf neu machen willst, steckst du sehr viel Aufwand in die Technik statt in die Daten. Daher wäre ein vorhandenenes System einfacher. Die Frage ist dabei, ob die Vorhandenen Systeme deine Anforderungen erfüllen.
 
Werbung:
Meinst du damit dass diese Wiki Systeme intern eine dokumentenbasierte Datenbank nutzen?
Nein, gar keine Datenbank (im "üblichen Sinn").
Einfach Dateien die im Dateisystem gespeichert werden (das Wiki ist quasi eine dokumentenorientierte Datenbank)
Das können im einfachsten Fall unstrukturierte Textdateien sein. Denkbar sind aber auch strukturierte Textformate wie XML oder JSON.
 
Zurück
Oben