2016-12-02 2 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

Здравствуйте, причина, по которой я задаю этот вопрос, заключается в том, что я хочу знать, почему «за» не может следовать атрибут узла. Согласно документу, это должно быть разрешено. Не сам запрос. Спасибо за ваш ответ. – Jasonsfk

+0

«это» для лямбда. Вы ищете это: 'g.V(). Filter {it.get(). Value (" unique1 ")! = X}'? –

Смежные вопросы