Fragen an Daten in den Geisteswissenschaften stellen: richtig, korrekt, effizient (Einführung und Vergleich von XQuery, SQL, SPARQL für geisteswissenschaftliche Daten)
Die Datenmenge in den digitalen Geisteswissenschaften wächst stetig an, mit ihr wächst auch ihre Komplexität. Um mit diesen Daten umzugehen, werden moderne Datenbanken verwendet, die die Speicherung und den Zugriff ermöglichen. In diesem Kurs werden drei relevanten Technologien vorgestellt: Relationale Datenbanken mit SQL, XQuery wird für XML-Daten genutzt, Graphdatenbanken für hochverknüpfte Daten.
Relationale Datenbanken strukturieren ihre Daten in einfachen Tabellen. SQL ist die Standard-Abfragesprache um in diesen Datenbanken zu suchen und auf Daten zuzugreifen. Die Technik ist ausgereift und es gibt viele sehr gute Datenbanksysteme. Mit Hilfe der meisten Programmiersprachen kann man leicht auf relationale Datenbanken zugreifen.
Mit Hilfe von XML werden Dokumente hierarchisch beschrieben. XQuery ist die Standardabfragesprache für XML-Dokumente oder ganze Sammlungen von Dokumenten, um den Inhalt dieser Dokumente zu erschließen. XML wird für große Textkorpora verwendet. Auch XML wird von vielen Programmiersprachen unterstützt und es gibt viele Anwendungen und Editoren für XML. XML wird in Webanwendungen häufig verwendet.
Graphdatenbanken sind eine eher neue Entwicklung. Daten werden hier als Informationenknoten gesehen, die über Kanten miteinander verbunden sind. Graphen sind dabei sehr dynamisch und daher gut geeignet, um Korpora zu explorieren.
Um diese Technologien einzuführen, werden wir Beispieldaten verwenden. Um die unterschiedlichen Abfrageverfahren miteinander vergleichen zu können, werden wir die gleichen zugrundeliegenden Informationen mit allen zugrundeliegenden Verfahren untersuchen. In Kursprojekten können Teilnehmende mit unseren Beispieldaten arbeiten oder eigene Daten verwenden. Durch einen explorativen Blick in die Daten werden wir uns überlegen, welche Fragen man mit Hilfe dieser Daten beantworten kann und wie man sie in den Anfragesprachen ausdrücken würde.
Teilnehmende sollten Grundkenntnisse in XML haben. Im Kurs haben die Teilnehmenden Zugriff auf sqLite und den XML-Editor Oxygen.
In der ersten Woche schauen wir uns die Grundlagen von SQL und XQuery an, mit der Syntax der Anfragesprachen SQL (für relationale Datenbanken) und XQuery (für XML Daten). Stichworte hier sind aus dem Bereich SQL FROM-SELECT-WHERE, JOIN, aggregierende Funktionen und für den Bereich XQuery FLWOR, Functions, Formatierung.
In der zweiten Woche schauen wir uns weiterführende Konstruktionen von SQL und XQuery an und wenden sie auf die gleichen Ausgangsdaten an. Daneben betrachten wir Graphdatenbanken und diskutieren, wie man auf der Grundlage von Daten Fragen formuliert und sie in einer Abfragesprache ausdrückt. Daneben werden wir mit XQuery anfragen an TEI-Dokumente stellen. Stichworte für diese Woche sind: SQL Stored Procedures, XQuery User Defined Functions, Graphdatenbanken, SPARQL, Anwendung der Anfragesprachen auf die Forschungsfragen der Teilnehmenden.