簡體   English   中英

獲取Scala gremlin中兩個頂點之間的傳出邊緣屬性值

[英]Fetch outgoing edge property value between two vertices in scala gremlin

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

我的代碼看起來像:

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

它為我提供了名稱的屬性值。

在給定的兩個頂點中,我得到 None 作為輸出

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

測試”-邊緣標簽“名稱”-邊緣屬性

知道我的查詢有什么問題。

很抱歉無法在您對之前提出的問題的評論中回答這個問題。 我認為你正在尋找的是:

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"

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM