Hilfe:Datenmodell

Aus GaretienWiki
Wechseln zu: Navigation, Suche
(leicht veraltet und unvollständig)

Ein Datenmodell sammelt, verlinkt und kategorisiert nicht nur einzelne Artikel, sondern versucht das auch für Computer verständlich und auswertbar zu machen. Der Leser kann bei Durchblättern einer Briefspielgeschichte aus dem Zusammenhang erkennen, ob die verlinkte Person eine Haupt- oder Nebenrolle spielt - ein Computer kann das nicht. Ein DSA-kundiger Leser weiß, dass "Praios 1020 BF" vor "Rondra 28 Hal" ist - ein Computer kann das nicht.

Deshalb muss man zusätzlich zum schönen Prosa-Text und den Übersichtsboxen versuchen, möglichst alle solche Verknüpfungen zwischen einzelnen Datenobjekten (also zum Beispiel der Briefspielgeschichte und der handelnden Person) Xomputer-lesbar zu klassifizieren und deren einzelne Attribute (also zum Beispiel das Datum der Geschichte oder den Tsatag der Person) in ein Computer-les- und -klassifizierbares Format zu bringen.

Ein weiterer großer Vorteil eines durchdachten Datenmodells ist die Vermeidung von Doppelarbeit. Früher haben wir zum Beispiel für jede Person gepflegt, welcher Familie und welchem Lehen sie zugeordnet ist. Dann haben wir dazu das Wappen der Familie und des Lehens angegeben. Bewegte sich die Person oder änderte sich das Wappen des Lehens oder der Familie, mussten alle zugeordneten Personen von Hand korrigiert werden. Jetzt ändert z.B. eine Änderung bei der Familie automatisch das Wappen aller ihrer Mitglieder.

Diese Methode hat natürlich auch einen großen Nachteil: Wenn ein Benutzer diesen Zusammenhang nicht verstanden hat, fällt es ihm schwer, Dinge zu ändern, die zwar in einem Artikel angezeigt, aber in einem völlig anderen gepflegt werden. Glücklicherweise ist es der Wiki-Technik egal, ob ein (in diesem Falle unwissender) Benutzer nur einen einfachen Text einstellt und ein (in diesem Falle wissender) Benutzer, ein sogenannter "Wiki-Gärtner" sich um die Verknüpfung kümmert. Damit wir aber nicht einen Flaschenhals der wenigen Wissenden erzeugen, soll dieser Artikel die ungefähren Zusammenhänge verdeutlichen.

Zusätzlich gilt dieser Artikel auch als eine Art Checklist, um im Falle eines Updates der Software die wichtigsten Funktionen zu kennen und testen zu können.

Geschichte des Datenmodells

In den vergangenen Jahren haben sich die Webpräsenzen von Garetien, Greifenfurt und Perricum mehrfach einem Wechsel des Datenmodells unterzogen. Um das jetzige Modell zu verstehen, sollte man die Entwicklung kennen.

Die ersten Webseiten zu Garetien und Greifenfurt, wie auch einige weitere private Homepages zu einzelnen Lehen entstanden mit dem Beginn des "jeder braucht eine Homepage"-Hype zum Ende des letzten Jahrtausends. Das Modellv hier war zumeist eine von einer einzelnen Person gewartete Seite mit einer Textsammlung. Diese Person musste sich also sowohl mit der Servertechnik auskennen als auch die hereinkommenden Texte in das Webformat HTML umwandeln. Schon beim Einstellen neuer Texte entstand so schnell ein Flaschenhals, von der Wartung und Überarbeitung alter Text ganz zu schweigen.

Irgendwann um 2005 stellte sich das Problem, dass wir den Überblick über unser gemeinsam erzähltes Briefspiel zu verlieren drohten. Zuerst einmal versuchten wir in Ermangelung der Kenntnis andere Plattformen, zumindest die Briefspieltexte in ein gemeinsames Forum einzustellen - damit war zwar dort der Flaschenhalt entfernt, aber die Wartung war sehr mühsam und es gab keine Versionsverwaltung im Fehlerfall, so dass die Idee einer gemeinsamen Homepage in dieser Form im Sande zu verlaufe drohte.

Im Sommer 2006 folgte dann die Installation einer auf MediaWiki basierenden Plattform nach dem Vorbild der Albernia-Wiki. Hier konnte nun jeder User seine und auch andere Texte selbstständig warten, verlinken und formatieren. Die Wiki-Technik war für unsere gemeinsam entwickelten Region ein Glücksgriff. Eifrig begannen wir alle bisher erzeugten Texte aus Briefspiel, Regionalbeschreibungen usw. einzupflegen.

Wie das so ist, wenn man eine große Menge verknüpfter Daten hat, stellten sich irgendwann Fragen wie "Können wir automatisch eine Liste aller Ortschaften erstellen, die einen Praios-Tempel haben?" oder "In welchen Briefspielgeschichten tauchte der Typ eigentlich auf?". Wichtig war uns, da der Datenbestand immer noch beständig wuchs, dass wir diese Übersichtslisten nicht immer wieder aktualisieren mussten. Mit DynamicPageList lassen sich solche Abfragen erstellen. Wenn jemand einem Dorf einen neuen Praios-Tempel gab, erschien er direkt in der entsprechenden Liste auf der Seite der Praios-Kirche.

Etwa zu diesem Zeitpunkt und basierend auf der Technik entstand auch die dynamische Karte - wir fingen also an, unsichtbare Informationen in Artikeln zu verstecken, die wir eigentlich nur an ganz anderen Stellen brauchten. Aber das Konzept ist richtig: Die Position eines Ortes sollte auch dort gespeichert sein. Wenn wir den Ort einmal umbenennen, ihn vom Markt zur Stadt machen usw., wird die Information auch gleich dynamisch in der Karte angepasst.

Leider schluckte DynamicPageList bei einer großen Menge abfragen viel zu viel Performance, so dass wir uns nach einer Alternative umschauen mussten. Es gibt ein Modul Semantic MediaWiki, mit dem solche semantischen Verknüpfungen und Attribute performanter gespeichert werden. Außerdem ist die Syntax Endanwender-freundlicher, so dass wir uns für den Umstieg entschieden. Dies hatte zur Folge, dass für lange Zeit auf vielen Seiten kaputte alte Abfragen zu sehen waren.

So langsam, nach viel Arbeit, haben wir mit SMW ein verknüpftes Datenmodell geschaffen, dass nicht mehr viel mit der ursprünglichen reinen Textsammlung zu tun hat. Dieses wird im folgenden dargestellt.

Datenobjekte

Person

Familie

Gruppierung

Lehen/Ort

Briefspielindex

Chronik

Fluss

Verknüpfungen

Von Person auf Person

  • Traviabund
  • Vater
  • Mutter
  • Ist/War Knappe bei
  • Ist/War Page bei
  • Schüler

Von Person auf Lehen/Ort

  • Herrscher
  • Aufenthaltsort
  • abgeleitete Kategorien

Von Person auf Familie

  • Herrscher
  • Familienmitglied

Von Person auf Gruppierung

  • Herrscher
  • Mitglied

Von Person auf Chronik

  • Herrscher
  • Tsatag
  • Borontag

Von Gruppierung auf Gruppierung

  • Untergruppierung von

Von Lehen/Ort auf Lehen/Ort

  • Vasallenlehen von
  • abgeleitete Kategorien
  • Windrose

Von Briefspielindex auf Briefspielindex

  • Vorgänger
  • Reihe
  • Nachfolger

Von Briefspielindex auf Person

  • Hauptdarsteller ist
  • Nebendarsteller ist
  • Briefspieltext mit

Von Briefspielindex auf Lehen/Ort

  • Handlungsort ist
  • Ortsnennung ist

Von Briefspielindex auf Familie/Gruppierung

  • Hauptakteure sind
  • Nebenakteure sind
  • Akteursnennung ist

Abfragen

Person

  • Aufenthaltsort und dessen Hegemonen und deren Wappen
  • Beherrschte Lehen/Orte/Familien/Gruppierungen, deren Wappen und Wappentexte
  • Herrscher Zeitleisten mit Vorgänger und Nachfolger
  • Zugehörigkeit zu Familien, deren Wappen und Wappentexte
  • Zugehörigkeit zu Gruppierungen, deren Wappen und Wappentexte
  • TODO: Kinder
  • TODO: Bastarde
  • TODO: Pagen
  • TODO: Knappen

Familie

  • TODO: Familienoberhaupt
  • TODO: Familienmitglieder

Gruppierung

  • TODO: Oberhaupt
  • TODO: Mitglieder

Lehen/Ort

  • Hegemonen und deren Wappen
  • Vasallen und deren Wappen
  • Bedeutende Personen
  • Bedeutende Bauwerke
  • TODO: Flüsse

Briefspielindex

  • Weitere Text der Reihe
  • Vorgänger
  • Nachfolger

Chronik

(keine)

Fluss

(keine)

Abfragen außerhalb der Datenobjekte

  • Hochadel
  • Stadtübersichten