簡體   English   中英

遍歷期間的TinkerPop3更新圖

[英]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.

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