标签列表
如何删除没有任何关系的所有节点 - neo4j/cypher
neo4j
cypher
4
4
我正在生成neo4j数据库中的节点,并希望删除那些没有关系的节点。哪个cypher指令是最好的用来完成这个任务?
-
Nicky Feller
1
个回答
23
23
尝试
MATCH
(n)
WHERE
size((n)
--())=0
DELETE
(n)
-
Luanne
6
11
这个查询是正确的,但在关系图很大且关系很多的情况下可能会很慢,因为它需要遍历所有关系才能计算大小。以下查询应该更有效率:
match (n) where not (n)--() delete (n)
。
- remigio
大小难道不使用 node.getDegree() 吗?
- Luanne
文档中没有关于此的证据。
- remigio
这是最有效的方法,分析显示它正在使用getDegree。
- Christophe Willemsen
@remigio,我的错,我还没有使用getDegree,需要在2.3中进行测试。
- Christophe Willemsen
@remigio 是的,对于更新查询,它使用规则计划器。重新进行了配置文件,执行时间仍然比不(pattern)大的大小要短,但应该针对大图进行测试。
- Luanne
回答链接
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接
相关问题
3
Neo4j Cypher - 查找没有路径连接的节点
3
Neo4j Cypher:在用另一个节点替换节点之前,转移所有关系
9
获取没有某种关系的节点 (Cypher/Neo4j)
22
寻找没有特定关系的节点(Cypher/neo4j)
8
Neo4j Cypher - 如何查找与节点列表有关系的所有节点
13
使用Cypher删除neo4j中的所有节点和关系会超出堆空间
79
neo4j如何使用Cypher返回所有节点标签?
6
Neo4j:如何通过Cypher删除数据库中所有重复的关系?
3
Neo4j / Cypher:删除节点的所有关系
6
Neo4j Cypher: 合并重复的节点
match (n) where not (n)--() delete (n)
。 - remigio