Die in der Graphdatenbank gespeicherten Daten sehen genauso aus wie die Abbildung. Für eine graphenorientierte Datenbank ist es ein Kinderspiel, eine Antwort auf meine Abfrage zu erhalten. Ich muss die Frage nur so stellen, dass die Datenbank sie versteht. Technisch versierte Leser sehen im Folgenden, wie unsere Beispiel-Abfrage im Detail aussieht:
Sushi-Restaurants in New York, die meine Freunde mit LIKE bewertet haben
START me=node:person(name = ‘Philip’),
location=node:location(location=’New York’),
cuisine=node:cuisine(cuisine=’Sushi’)
MATCH (me)-[:IS_FRIEND_OF]->(friend)-[:LIKES]->(restaurant)
-[:LOCATED_IN]->(location),(restaurant)-[:SERVES]->(cuisine)
RETURN restaurant
Cypher Abfragesprache-Beispiel: Sushi-Restaurants in New York, die meine Freunde mit LIKE bewertet haben
Weitere Anwendungsfelder für Graphen
Das Denken in Graphen ist natürlich – und ansteckend. Je mehr man sich auf das Konzept der wechselseitigen Beziehungen einlässt, desto klarer wird, dass wir von Natur aus in Form von Graphen denken. Auch ein Entscheidungsbaum ist schließlich nichts anderes als ein Graph der verfügbaren Möglichkeiten. Je genauer man hinsieht, desto deutlich wird, dass Graphen allgegenwärtig sind.
Für die Nutzer von Graphdatenbanken gehören Abfragen wie die obige zum Alltag. Sie wissen, dass der Phantasie quasi keine Grenzen gesetzt sind – es gibt immer noch mehr interessante Fragen, auf die Graphdatenbanken Antworten geben können. Derartige Abfragen können ziemlich komplex werden, z.B., wenn man Beziehungen zwischen Social Media-Freunden feststellen will, die innerhalb des Netzwerks zwei, drei oder mehr Ebenen auseinander liegen.
Der Nutzen vernetzter Daten geht aber weit über Social Media und die Websuche hinaus. Was für Graph Search gilt, lässt sich genauso auf Bioinformatik, Betrugserkennung, Netzwerkmanagement, Logistik und die verschiedensten anderen Anwendungsbereiche übertragen. Neo Technology hat Kunden aus all diesen und weiteren Bereichen, die mithilfe der Graphdatenbank Neo4j neue und tiefergehende Einblicke erhalten.
Ich bin nicht Facebook – wie kann ich dann von der Graphentechnologie profitieren?
Branchenriesen wie Facebook, Google und Twitter haben eigene graphenorientierte Technologien entwickelt, um sich Wettbewerbsvorteile zu verschaffen und erfolgreich zu sein. Wenn Sie aber nicht zu Facebook & Co. gehören, sind Aufbau und Pflege eines eigenen Datenbank-Managementsystems keine wirklich praktikable Lösung.
Umso erfreulicher ist daher die Tatsache, dass Unternehmen, die eine Funktion wie Graph Search benötigen, nur einen Mausklick von den hierfür notwendigen Tools entfernt sind. Von seiner Struktur her ist Graph Search nämlich eine schlichte Datenbank. Und im Gegensatz zur Situation vor zehn Jahren stehen heute sofort einsatzbereite, handelsübliche Graphdatenbanken zur Verfügung, die bewährt und robust sind und die von Anfang an für vernetzte Daten konzipiert wurden. Je mehr Unternehmen den Nutzen vernetzter Daten realisieren, desto wichtiger wird es, allen die richtigen Tools zur Hand zu geben.
Neo4j ist dabei die am weitesten verbreitete Graphdatenbank der Gegenwart. Ihre Beliebtheit gründet sich darauf, dass sie vernetzte Daten 1000 Mal schneller verarbeitet als relationale Datenbanken. Hinzu kommt, dass es sehr viel komfortabler ist mit Neo4j zu arbeiten als die mühsame Umformung von Graphen in eine Tabellenstruktur.
Neo4j ist eine frei verfügbare Open Source-Software, die zum einen Community Edition unter derselben quelloffenen Lizenz wie MySQL, zum anderen als Enterprise Edition erhältlich ist. Kommerzielle Lizenzen können beim Neo4j-Erzeuger und -Sponsor Neo Technology erworben werden.
Zu den kommerziellen Anwendern von Neo4j zählen Cisco, Adobe, Deutsche Telekom, Accenture und viele andere sowie zahlreiche Startups wie FiftyThree (Entwickler von Paper, der Apple iPad App of the Year 2012), Seth Godins Squidoo und Justdial, einer der aufsehenerregendsten Newcomer Indiens. Neo4j steht zum Download bereit. Laden Sie es noch heute herunter, oder nutzen Sie die interaktive Cypher Web Console, um die Cypher-Abfragesprache direkt aus Ihrem Webbrowser heraus zu testen.
Keywords: