2016-09-30 113 views
1

我正在嘗試獲取兩個頂點之間的邊緣屬性值。例如。 A - > B A和B是兩個頂點,它具有帶屬性(名稱)的邊。在scala gremlin中的兩個頂點之間獲取傳出邊緣屬性值

我的代碼如下所示:

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

這讓我對名稱的屬性值。

在一個給定的兩個頂點,我得到無作爲輸出

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

測試」 - 邊標籤 「」 - 邊屬性

任何想法,什麼是錯的我的查詢。

回答

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"那些頂點

您實際上是要求頂點上的屬性。

+0

感謝您的解釋。有用。 :) – Gopi

相關問題