[英]TinkerPop3 updating graph during traversal
我正在Java中使用TinkerPop3遍歷,我想更新輸出頂點,對其進行編輯,然后在遍歷繼續進行時不再顯示已編輯的頂點。 這可能嗎?
這段代碼:
TinkerGraph tg = TinkerGraph.open();
/**add some vertices and edges**/
GraphTraversalSource gt = tg.traversal();
GraphTraversal<Vertex, Map<String,Object>> traversal = gt.V()
.has("processed",false).as("initial")
.out()
.aggregate("vertices")
.select("initial","vertices");
while(traversal.hasNext()){
initial.property("processed",true);
}
即使我將“ processed”屬性設置為true,也將反復吐出找到的第一個頂點。
我該怎么做才能解決或解決此問題?
我不確定您的代碼示例中發生了什么,但是如果您想在遍歷中設置屬性,則可以在一行代碼中進行設置。 查看我的控制台會話:
gremlin> graph = TinkerGraph.open()
==>tinkergraph[vertices:0 edges:0]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> graph.addVertex('processed',false)
==>v[0]
gremlin> graph.addVertex('processed',false)
==>v[2]
gremlin> graph.addVertex('processed',false)
==>v[4]
gremlin> graph.addVertex('processed',true)
==>v[6]
gremlin> g.V().has('processed',false)
==>v[0]
==>v[2]
==>v[4]
gremlin> g.V().has('processed',false).property('processed',true)
==>v[0]
==>v[2]
==>v[4]
gremlin> g.V().has('processed',false)
gremlin>
您可以看到所有“已處理”屬性現在都設置為false
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.