Neo4j 选择具有特定属性的最近邻居
这个问题似乎有点幼稚,但是否可以选择具有特定属性值的树的最近顶点?例如,让我们创建Neo4j 选择具有特定属性的最近邻居,neo4j,Neo4j,这个问题似乎有点幼稚,但是否可以选择具有特定属性值的树的最近顶点?例如,让我们创建 CREATE (a: IM { level:0 })-[:conn { weight: 1 }]->(fchild1:task { completed:false }) CREATE (a)-[:conn { weight: 1 }]->(fchild2:task { completed:true }) CREATE (fchild1)-[:conn { weight: 1 }]->(b:tas
CREATE (a: IM { level:0 })-[:conn { weight: 1 }]->(fchild1:task { completed:false })
CREATE (a)-[:conn { weight: 1 }]->(fchild2:task { completed:true })
CREATE (fchild1)-[:conn { weight: 1 }]->(b:task { completed:false })
CREATE (fchild1)-[:conn { weight: 1 }]->(c:task { completed:true })
CREATE (fchild1)-[:conn { weight: 1 }]->(d:task { completed:false })
CREATE (fchild2)-[:conn { weight: 1 }]->(e:task { completed:false })
CREATE (fchild2)-[:conn { weight: 1 }]->(f:task { completed:false })
是否可以为已完成=false的
c
选择最近的节点?是否同时在树上下移动?无论哪种方式,都不应该太难:
MATCH path, (a:IM)-[*1..10]-(other:IM)
WHERE <some match to get your `a` node> AND other.completed = false
RETURN other, length(path) AS distance
ORDER BY length(path)
LIMIT 1
匹配路径(a:IM)-[*1..10](其他:IM)
WHERE AND other.completed=false
返回其他,长度(路径)作为距离
按长度排序(路径)
限制1
您可以根据需要增加10
或删除1..10
。根据图形的不同,这可能会大大增加查询时间