Neo4j ist eine ACID-transaktionale Datenbank, die in Java implementiert ist. Ihre Ursprünge reichen bis ins Jahr 2003 zurück, seit Anfang 2010 liegt die Version 1.0 vor. Neo4j wurde also bereits vor der “NoSQL”-Welle entwickelt und eingesetzt. Neo4j wird von der Firma NeoTechnology betreut, über die bei Bedarf auch eine kommerzielle Lizenzals Alternative zur freien (AGPLv3-)Lizenz verfügbar ist.
Die Kernbestandteile von Graphendatenbanken Knoten und Kanten, die sich jeweils durch Eigenschaften (Properties) näher beschreiben lassen. Das Standardbeispiel, das man in beinahe jedem Tutorial zu Graphendatenbanken beziehungsweise Neo4j findet, ist das aus den sozialen Web-2.0-Netzen bekannte “Wer kennt wen”-Beispiel. Daher soll dieses “Hello-World der Graphendatenbanken” auch hier verwendet werden. In der einfachsten Variante existieren mehrere Personen, die sich untereinander kennen. Die Personen werden als Knoten modelliert, die Sich-kennen-Beziehungen als Kanten.
Der Schwerpunkt in diesem Seminar liegt auf den folgenden Aspekten:
– Welche Abfragesprachen gibt es für Graphendatenbanken im Allgemeinen beziehungsweise Neo4j im Speziellen?
– Wie erfolgt die konkrete Anbindung an eigene Java-Projekte mit umfangreichen Datenmodellen?
Eine kleine Beispielanwendung ist zu implementieren.