2015-01-14 89 views
1

我正在使用Tinkerpop3 Gremlin針對參考TinkerGraph實現。我可以從GraphTraversal中獲取頂點而不是元素嗎?

我試圖.next()一個Vertex出這個穿越:

graph.V().has(T.label, "link").has("url", url).next(); 

不幸的是,我只能夠從next()得到Element。當我的next()輸出分配到Vertex,我得到:

error: incompatible types: Element cannot be converted to Vertex

我怎樣才能得到一個Vertex

我看過the docs,看到V()返回GraphTraversal<Vertex,Vertex>has()步驟簽署default <E2 extends Element> GraphTraversal<S,E2>,我認爲這將保留GraphTraveral<Vertex, Vertex>next()只產生Element。不知道下一步該怎麼做。

謝謝。

回答

2

嗯 - 你總是可以做到這一點:

Vertex v = g.V().has(T.label, "link").<Vertex>has("name", url).next(); 

,只是明確鍵入的最後一步。

+0

即使上述工作,我不認爲有必要這樣做 - 將進一步檢查。 –

+0

Stephen,謝謝,我發現了一個類似的版本。 Java新手必須成爲這個難題的一部分。但是,我仍然不明白爲什麼編譯器需要額外的一點。如果你拆開鏈並將每一步分配給一個變量,那麼它就是「頂點」。不知道爲什麼'Element'是編譯器引入的。 –

相關問題