如何获取neo4j中排除的节点数
我有这样的节点。如何获取neo4j中排除的节点数,neo4j,cypher,Neo4j,Cypher,我有这样的节点。 我想得到所有没有映射到节点(l1)的节点(从c1到c5),所以我的结果节点应该是(c2)、(c4)和(c5)。如何在Neo4j中进行查询。您需要选择那些没有指向所需节点的单向路径的节点: MATCH (E {name: 'l1'}) WITH E MATCH (M) WHERE NOT (M)-[*]->(E) RETURN M 一个简单的解决方案是(C、L是节点标签,R1是关系类型) 其中(l:l{…})是用于标识节点l1的一些过滤器 如果有大量的关系从C节点出来,
我想得到所有没有映射到节点(l1)的节点(从c1到c5),所以我的结果节点应该是(c2)、(c4)和(c5)。如何在Neo4j中进行查询。您需要选择那些没有指向所需节点的单向路径的节点:
MATCH (E {name: 'l1'}) WITH E
MATCH (M) WHERE NOT (M)-[*]->(E)
RETURN M
一个简单的解决方案是(C、L是节点标签,R1是关系类型)
其中(l:l{…})
是用于标识节点l1的一些过滤器
如果有大量的关系从C节点出来,那么会变得很慢。您可以尝试以下操作:
MATCH (l:L {...})<-[:R1]-(c:C)
WITH COLLECT(c) AS cs
MATCH (c2:C)
WHERE NOT c2 NOT cs
RETURN c2
MATCH(l:l{…})c节点是否都具有相同的标签?如果是这样的话,您是在寻找该标签中未链接到l1的所有节点,还是仅此特定子集?此外,您是否可以提供数据的文本表示?从图形中,看起来可能有2个“l1”节点。也不清楚您在最右边的节点中写了什么。
MATCH (l:L {...})<-[:R1]-(c:C)
WITH COLLECT(c) AS cs
MATCH (c2:C)
WHERE NOT c2 NOT cs
RETURN c2