2015-02-12 5 views
0

Пусть Предположим, у нас есть два матча, и теперь мы хотим что-то вроде этого (match1-match2)Как фильтрует данные на уровне узла в Neo4j Cypher

match (u:User)-[r:HAS_RESOURCES]-(resource:Resource) where id(u)=1484 
match (resource1:Resource)-[r1:OWNED_BY_USER]-(owner:User) where resource1.isPublished=true return resource1 

Это ничтожество мы сделали. Итак, теперь мы хотим что-то вроде этого id (resource1) -id (resource)

ответ

1

вы можете фильтровать ресурсы, которые не находятся в коллекции.

Обязательно укажите индекс: Ресурс (isPublished), иначе вам придется сканировать все ресурсы.

match (u:User)-[r:HAS_RESOURCES]-(resource:Resource) where id(u)=1484 
with collect(resource) as resources 
match (resource1:Resource) 
where resource1.isPublished=true and NOT (resource1 IN resources) 
return resource1 
+0

Спасибо, что работает – abhaygarg12493

+0

Просьба предоставить более подробную информацию об индексировании в Neo4j – abhaygarg12493

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