2016-12-02 39 views
1

我正在使用Titan(titan-1.0.0-hadoop1)。假設節點有一個屬性unique1。我希望具有此屬性的節點不等於特定值。爲什麼濾波器功能不適用於Titan 1.0.0

查詢我的是:

g.V().filter(!it.unique1 = x) 

我總是得到錯誤:

no such property, "unique1" 

在此先感謝。

回答

1

試試這個。示例圖表:

gremlin> graph = TinkerGraph.open(); 
==>tinkergraph[vertices:0 edges:0] 
gremlin> v1 = graph.addVertex(); 
==>v[0] 
gremlin> v2 = graph.addVertex(); 
==>v[1] 
gremlin> v1.property("unique1", 1); 
==>vp[unique1->1] 
gremlin> v2.property("unique1", 2); 
==>vp[unique1->2] 

然後篩選遍歷像這樣:

// g = graph.traversal() 
gremlin> graph.traversal().V().filter(values("unique1").is(1)); 
==>v[0] 
gremlin> graph.traversal().V().filter(values("unique1").is(2)); 
==>v[1] 
gremlin> graph.traversal().V().filter(values("unique1").is(3)); 
gremlin> 
3

你應該學習TinkerPop docs好一點,因爲這真的是一個非常基本的查詢。

g.V().has("unique1", neq(x)) 
+0

你好,我問這個問題的原因是因爲我想知道爲什麼「it」不能跟隨節點的屬性。根據該文件,這應該是允許的。不是查詢本身。謝謝您的回答。 – Jasonsfk

+0

「它」是lambda表達式。你在找這個:'g.V()。filter {it.get().value(「unique1」)!= x}'? –

相關問題