Database Reference
In-Depth Information
}
}
return wine _ list;
}
Anstelle der obigen Verschachtelung und Iteration entwickelte das Pipes-Pro-
jekt eine Möglichkeit, ein- und ausgehende Knoten zu deklarieren. Sie bau-
en eine Folge ein- und ausgehender Pipes, Filter und Request-Werte aus der
Pipeline auf. Dann rufen Sie iterativ die hasNext -Methode der Pipeline auf,
die den nächsten passenden Knoten zurückliefert. Mit anderen Worten: Die
Pipeline geht den Baum für Sie durch. Bis die Pipeline angefordert wird, de-
klarieren Sie nur, wie der Durchlauf erfolgen soll.
Jim sagt:
jQuery und Gremlin
Nutzern der beliebten JavaScript-Bibliothek jQuery wird diese Collection-orientierte
Traversierung vertraut vorkommen. Betrachten Sie das folgende HTML-Fragment:
<ul id= "navigation" >
<li>
<a name= "section1" > section 1 </a>
</li>
<li>
<a name= "section2" > section 2 </a>
</li>
</ul>
Nehmen wir nun an, wir wollen den Text aller Tags mit dem Namen section1 finden,
die Child-Elemente von Listenelementen ( li ) unterhalb des Navigationselements
sind ( id=navigation ). Eine mögliche Lösung ist jQuery-Code wie dieser:
$('[id=navigation]').children('li').children('[name=section1]').text()
Betrachten Sie nun eine Gremlin-Query, die nach einem ähnlichen Datensatz sucht,
wobei wir annehmen, dass jeder Parent-Knoten eine Kante besitzt, die auf jedes
Child-Element verweist. Ganz schön ähnlich, nicht wahr?
g.V.filter{it.id=='navigation'}.out.filter{it.tag=='li'}.
out.filter{it.name=='section1'}.text
Um das zu verdeutlichen, hier eine weitere Implementierung der same _
variety -Methode, die Pipes anstelle von Schleifen nutzt:
public static void same _ variety( Vertex wine ) {
List <Vertex> wine _ list = new ArrayList <Vertex>();
Pipe inE
= new InPipe( "grape _ type" );
= new OutPipe( "grape _ type" );
Pipe outE
 
Search WWH ::




Custom Search