簡體   English   中英

Gremlin:在具有相同屬性的節點之間添加邊緣

[英]Gremlin: adding edges between nodes having the same property


我是Gremlin的新手。 我正在嘗試使用Gremlin在DSE圖上構建圖形。 我能夠創建頂點:

a = graph.addVertex(label, 'label1', 'key', 1)
b = graph.addVertex(label, 'label1', 'key', 2)
c = graph.addVertex(label, 'label2', 'key', 1)
d = graph.addVertex(label, 'label2', 'key', 2)

現在我希望在兩個節點之間自動添加邊緣,其中屬性“key”匹配的是不同的標簽(即a和c之間以及b和c之間的創建和邊緣)。 我正在努力做到這一點。

我試着做以下事情

 g.V().hasLabel("label1").sideEffect{g.V().("label2").has("key",it.key).addEdge("link",it)}

但是我收到以下錯誤:

No signature of method: org.apache.tinkerpop.gremlin.process.traversal.traverser.B_O_Traverser.values() is applicable for argument types: (java.lang.String) values: [key]

有人可以幫助我解決這個問題嗎? 提前謝謝你

嵌套的gV()通常是個壞主意。 您可以使用單個遍歷解決問題:

g.V().hasLabel("label1").as("a").
  V().hasLabel("label2").as("b").
  where("a", eq("b")).by("key").
  addE("link").from("a").to("b")

另請注意,您必須允許DSE Graph中的掃描才能使此遍歷工作。

暫無
暫無

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

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