2017-08-30 4 views
0

今私は以下の質問をしています。私はすべてのエッジを得たいと思っています。なぜ2つの同じパスがあり、パスの詳細を取得するのが面白いのですか?私はどのように実装できますか?どのように2つの頂点パスを得ることができますか?

Vertex fromNode = g.V().has('name', 'alice').next();Vertex toNode = g.V().has('name', 'bobby').next();g.V(fromNode).repeat(both().simplePath()).until(is(toNode)).path() ==>[v[4224],v[40964296]] ==>[v[4224],v[40964296]] ==>[v[4224],v[4144],v[40964256],v[4096],v[40964296]]

私たちは、下のグラフを持っています。

gremlin> a = graph.addVertex("name", "alice") 
==>v[4208] 
gremlin> b = graph.addVertex("name", "bobby") 
==>v[40968424] 
gremlin> c = graph.addVertex("name", "cindy") 
==>v[4192] 
gremlin> d = graph.addVertex("name", "david") 
==>v[40972520] 
gremlin> e = graph.addVertex("name", "eliza") 
==>v[40964272] 
gremlin> a.addEdge("rates",b,"tag","ruby","value",9) 
==>e[2ry-38w-azv9-oe3fs][4208-rates->40968424] 
gremlin> b.addEdge("rates",c,"tag","ruby","value",8) 
==>e[odzq5-oe3fs-azv9-38g][40968424-rates->4192] 
gremlin> c.addEdge("rates",d,"tag","ruby","value",7) 
==>e[170-38g-azv9-oe6lk][4192-rates->40972520] 
gremlin> d.addEdge("rates",e,"tag","ruby","value",6) 
==>e[oe04d-oe6lk-azv9-oe08g][40972520-rates->40964272] 
gremlin> a.addEdge("rates",e,"tag","java","value",9) 
==>e[366-38w-azv9-oe08g][4208-rates->40964272] 
gremlin> g.E().values("tag") 
==>ruby 
==>ruby 
==>ruby 
==>ruby 
==>java 
gremlin> graph.tx().commit() 

私は以下のようにパスの詳細を取得したいと思います:

==>bobby=[v[0], e[10][0-rates->2], v[2]] 
==>cindy=[v[0], e[10][0-rates->2], v[2], e[11][2-rates->4], v[4]] 
==>david=[v[0], e[10][0-rates->2], v[2], e[11][2-rates->4], v[4], e[12][4-rates->6], v[6]] 

答えて

3

あなただけ明示的にそれらの上に横断することによりあなたにもエッジをしたいことを指定する必要があります。

gremlin> g.V(fromNode).repeat(bothE().otherV().simplePath()).until(is(toNode)).path() 
==>[v[0],e[10][0-rates->2],v[2]] 
==>[v[0],e[14][0-rates->8],v[8],e[13][6-rates->8],v[6],e[12][4-rates->6],v[4],e[11][2-rates->4],v[2]] 
+0

otherV()、simplePath()などの関数を見つけることはできますか?私が参照できる文書やリソースはどれですか? – Jeff

+1

すべての手順はドキュメントにあります:http://tinkerpop.apache.org/docs/current/reference/#graph-traversal-steps –

関連する問題