我在neo4j中有一个句子图,我想知道如何进行一个复杂的查询,它将以一个带有:WORD标签的节点开始和结束,并返回它们之间的路径。
关键是我希望它具有不同的长度,并且只返回通过具有某些属性的节点的路径。我想要像:
MATCH p=((p1:Word)-[r*0..4](***)-(p2:Word))
WHERE v:Variable {property = value}
RETURN p1,p2,p AS Path, length(p) AS PathSize
ORDER BY PathSize
***:这里我想将路径中间的节点命名为v,并仅过滤v具有特定属性的路径。有谁知道怎么做?
谢谢!
答案 0 :(得分:1)
[EDITED]
这可能就是你要找的东西:
MATCH p=(p1:Word)-[*0..4]-(p2:Word)
WHERE ALL(v IN NODES(p) WHERE v.property = value)
RETURN p1, p2, p AS Path, LENGTH(p) AS PathSize
ORDER BY PathSize;