1

2 つの頂点間のエッジ プロパティ値を取得しようとしています。たとえば、A-->B A と B は 2 つの頂点であり、プロパティ (名前) を持つエッジがあります。

私のコードは次のようになります:

graph.V().hasLabel(A).outE().value("name").headOption()

name のプロパティ値が表示されます。

指定された 2 つの頂点で、出力として None を取得しています

graph.traversal().V().hasLabel(A).outE("test").outV().hasLabel(B).properties("name").headOption()

' test ' - エッジ ラベル ' name ' - エッジ プロパティ

私のクエリの何が問題なのか考えてみてください。

4

1 に答える 1

1

前回の質問に対するコメントでこれに答えることができなかったことをお詫びします。あなたが探しているのは次のとおりだと思います:

graph.traversal().V()
     .hasLabel("A").outE("test").as("x").otherV()
     .hasLabel("B").select("x").properties("name");

エッジのプロパティの値だけが必要な場合は、次の操作を実行できます。

graph.traversal().V()
     .hasLabel("A").outE("test").as("x").otherV()
     .hasLabel("B").select("x").values("name");

サイドノート(元のトラバーサルが間違っている理由):元のトラバーサル:

graph.traversal().V().hasLabel(A).outE("test").outV().hasLabel(B).properties("name").headOption()

次のことを行っています。

  1. ラベルを持つすべての頂点を取得する"A"

  2. "test"これらの頂点から、ラベル「B」を持つ頂点へのラベルを持つ外向きのエッジをたどります。

  3. 次に"name"、それらの頂点からプロパティを取得します

実際には、頂点のプロパティを求めています。

于 2016-09-30T11:17:22.980 に答える