neo4j - 我如何消除此 CYPHER 查询中的重复项,该查询返回具有特定标签的所有节点,这些标签按与根的距离排序

标签 neo4j cypher

START s=node(0) 
MATCH p=s-[*]->n 
WHERE n:label
RETURN id(n), n.property 
ORDER BY length(p) asc

由于有多条路径到 n,我得到了重复的节点返回。 如何返回唯一节点?

最佳答案

你可以做 return distinct。

START s=node(0)
MATCH p=(s)-[*]->(n) 
WHERE n:label 
RETURN DISTINCT id(n), n.property  
ORDER BY length(p) asc

不过,如果您这样做...也许这对您更好?

START s=node(0)
MATCH (n:label)
WITH s, n
MATCH p=shortestPath((s)-[*]->(n))
RETURN DISTINCT id(n), n.property 
ORDER BY length(p) asc

关于neo4j - 我如何消除此 CYPHER 查询中的重复项,该查询返回具有特定标签的所有节点,这些标签按与根的距离排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20317264/

相关文章:

neo4j - 我想在 Neo4j 中创建和操作属性数组

neo4j - 如何将具有不同属性的两个节点合并为cypher中的一个节点?

java - 如何在 Neo4j 2.0 中通过 REST API 创建带有标签的节点

Neo4j:查找与列表中所有节点有连接的节点

java - Neo4j 数据检索中出现空点异常

node.js - 如何在代码中解析带引号的搜索查询

indexing - 无法在 neo4j 4.2.X 中创建全文索引

neo4j - 如何将 Cypher 文件加载到 Neo4j 中

neo4j 搜索节点,关系包含*字符串*

neo4j - 如何强制 Neo4j 使用 2 个索引?