鉴于属于Neo4j数据库的一组路径,我想知道其中哪条路径是另一条较长路径的子路径。
例如:
两条路径都包含在更长的路径中: (一) - [R] - > (二) - > [R] - > (C) - > [R] - > (d)
Cypher有没有这样做的语法?
提前致谢。
答案 0 :(得分:0)
我怀疑您实际上是在尝试使用variable-length path查询来获取“完整路径”(即以叶节点结尾的路径),而不使用任何部分路径。
如果我的怀疑是正确的,那么可能有一种简单的方法(考虑到你的样本路径)。
例如,如果您当前的查询是:
MATCH p=(a:Foo)-[:REL*]->(b:Bar)
RETURN p;
您可以使用以下查询来获取“完整”路径:
MATCH p=(a:Foo)-[:REL*]->(b:Bar)
WHERE NOT (b)-[:REL]->()
RETURN p;