Von Emil Eifrem und Philip Rathle

Sie haben es sicher schon gehört: Facebook hat eine neue Suchfunktion angekündigt, Graph Search. Graphenorientierte Technologien sind seit Jahren auf dem Vormarsch, und gerade Graphdatenbanken haben in letzter Zeit für einigen Wirbel gesorgt.

Wir sehen Graph Search nur als Ausdruck eines Trends, der weit über Facebook und die reine Websuche hinausreicht. Facebook nutzt damit eine fundamental neue Möglichkeit, den Informationsschatz, der in den weltweiten Datenbanken verborgen liegt, zu heben. In diesem Beitrag soll die Facebook-Ankündigung unter einem anderen Aspekt betrachtet werden: dem Aspekt der vernetzten Daten oder Connected Data. Dieser wachsende Trend hat das Potenzial die Sichtweise der Unternehmen auf ihre Daten von Grund auf zu ändern – unabhängig von der Unternehmensgröße.

Graphen und die Suche im Internet: ein Blick zurück
Websuche und Graphen verbindet eine lange gemeinsame Geschichte. In den 1990er Jahren beruhte die Datensuche im World Wide Web größtenteils auf dem Prinzip der „atomaren Daten“. Jede Seite wurde indexiert und isoliert von anderen Seiten auf ihre Relevanz hin beurteilt. Grundlage war dabei ausschließlich der Seiteninhalt, Beziehungen zu anderen Seiten wurden nicht berücksichtigt.

Erst 1999 sollte sich dies ändern: Ein kleines Startup-Unternehmen namens Google führte eine neuartige, graphenorientierte Suchtechnologie ein. Sie war vom Google-Mitgründer Larry Page erfunden worden und erhielt den Namen PageRank. PageRank war eine bahnbrechende Neuerung, die Google an die Spitze der Suchmaschinenbranche katapultierte – eine Position, die es bis heute hält. Das neuartige am PageRank-Algorithmus bestand darin, dass er die Seiten nicht isoliert voneinander beurteilte, sondern berücksichtigte, wie sie miteinander in Beziehung standen. Die so erzielten Suchergebnisse waren sehr viel relevanter.

Vernetzte Daten als neue Quelle der Erkenntnis
In seiner Keynote-Rede auf der letztjährigen GraphConnect Conference in San Francisco sprach der Social Media-Experte und Autor von „Connected“, James Fowler, über neueste Entwicklungen. Konkret schilderte er, wie man sehr viel mehr über eine Person erfahren kann, wenn man ihre Interaktionen mit ihrem Umfeld einbezieht, anstelle lediglich isolierte Fakten über die Person in Erfahrung zu bringen. Der Unterschied zwischen den Einblicken durch atomare Daten und der Intelligenz, die aus vernetzten Daten gewonnen wird, ist enorm. Er macht spezielle Technologien notwendig, die eigens entwickelt wurden, um die Vernetzung der Daten zu erkennen.

Wie funktioniert Graph Search?
Graphen sind von Haus aus visuell. Selbst ohne technische Fachkenntnisse ist es nicht allzu schwierig, ihre Funktionsweise zu verstehen. Als Beispiel soll hier eine Abfrage mit der Facebook-Suchfunktion Graph Search dienen, die alle Sushi-Restaurants in New York auflisten soll, die meine Freunde mögen. Der zugrundeliegende Graph sieht folgendermaßen aus:


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.