Database Reference
In-Depth Information
Patty ist mit Tom und mit Alice befreundet, ist aber erst in jüngster Zeit zum
Wein gekommen und muss sich ihre Favoriten noch auswählen.
patty = g.addVertex([name:'Patty'])
g.addEdge(patty, tom, 'friends')
g.addEdge(patty, alice, 'friends')
Ohne die grundlegende Struktur unseres existierenden Graphen zu verän-
dern, konnten wir ihn um Verhaltensweisen (behavior) ergänzen, was weit
über unsere ursprünglichen Absichten hinausgeht. Die neuen Knoten ste-
hen zueinander in Beziehung, wie nachfolgend zu sehen:
4: Prancing Wolf Kabinett 2002
friends
trusts
8: Patty
7: Tom
1: Wine Expert Monthly
6: Alice
0: Prancing Wolf Ice Wine 2007
Stepping Stones
Wir haben uns einige Gremlin-Kern
schritte
, oder Pipe-Verarbeitungseinhei-
ten, angesehen. Gremlin bietet noch viele mehr. Wir wollen uns noch mehr
dieser Bausteine ansehen, die den Graphen nicht nur durchgehen, sondern
auch Objekte transformieren, Schritte filtern und Nebeneffekte erzeugen wie
das Zählen von Knoten, die nach bestimmten Kriterien gruppiert sind.
Wir haben
inE
,
outE
,
inV
und
outV
kennengelernt, bei denen es sich um
Transformationsschritte
zum Abruf ein- und ausgehender Kanten und Kno-
ten handelt. Zwei weitere Arten sind
bothE()
und
bothV()
, die einfach einer
Kante folgen, egal in welcher Richtung sie verläuft.
Nachfolgend rufen wir Alice und all ihre Freunde ab. Wir hängen
name
an
das Ende an, um an die
name
-Property jedes Knotens zu gelangen. Da es uns
nicht kümmert, in welche Richtung die
friend
-Kante läuft, verwenden wir
bothE
und
bothV
.
alice.bothE('friends').bothV.name
==> Alice
==> Patty