簡體   English   中英

如何在 Gremlin 中使用 Edge Label 執行遍歷

[英]How to perform traversal in Gremlin With Edge Label

我有一個簡單的問題,但我仍在努力掌握 gremlin 語言和圖形數據庫。 我在圖中有以下項目。 這只是一條路徑,但我想找到附加到具有屬性“ABC”的邊緣的節點。

例如,這是我的圖表:

a = g.addV("building").property("name", "A").next()
b = g.addV("building").property("name", "B").next()
c = g.addV("building").property("name", "C").next()
d = g.addV("building").property("name", "D").next()
e = g.addV("building").property("name", "E").next()

g.addE("path").from(a).to(b).property("ident", "ABC")
g.addE("path").from(b).to(c).property("ident", "ABC")
g.addE("path").from(c).to(d).property("ident", "ABC")
g.addE("path").from(d).to(e).property("ident", "ABC")

g.addE("path").from(a).to(b).property("ident", "XYZ")
g.addE("path").from(b).to(c).property("ident", "XYZ")
g.addE("path").from(c).to(d).property("ident", "XYZ")
g.addE("path").from(d).to(e).property("ident", "XYZ")

我想做的是用.has("path", "ident", "ABC")找到邊緣。 我可以做到這一點,但我試圖弄清楚如何接受並最終顯示圖表。 我試圖弄清楚如何獲得:

A->path->B->path->C->path->D->path->E

再次提前感謝您,您不必解決問題,只需幫助我指出正確的方向。

這可以通過將repeat()步驟與使用has()步驟對邊緣屬性ident進行過濾相結合來完成,如下所示:

gV().has('building', 'name', 'A').repeat(outE('path').has('ident', 'ABC').inV()).until(outE('path').count().is(0)).path()

暫無
暫無

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

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