查询Cypher节点A与节点B没有关系,条件为B

时间:2013-11-15 15:47:38

标签: database neo4j cypher

我正在尝试构建一个Cypher来检查节点A是否与具有特定属性的节点B没有关系

node (A) 
does not have relation (X)
with node (B) where B.date > 5

我试过这个并且如果与B节点有关系,那么会失败,其中B.date = 3

START u = node:users("id:123123") 
MATCH (u)-[r1?:X]->(e1) 
WHERE (NOT ((e1.date! > 5)))
OR r1 IS NULL 
RETURN (u), e1

我正在使用Neo4j 1.9.4

1 个答案:

答案 0 :(得分:0)

我认为您需要检查与A相关的每个节点B,并且只有当它们都没有满足B.date>的属性日期时才需要检查。 5,然后A是所需的节点。

Start u = node:users("id:123123")
Match u-[:DEPENDS_ON]->e1
With u, collect(e1) as ecol
Where None (e in ecol where e.date > 5) 
RETURN (u), ecol