Dar*_*wan 3 path nodes neo4j cypher
我对Neo4j不是很熟悉,因为我刚用它好几天了.
但现在我想找到两个节点之间的路径
喜欢路径:A&D
A - > B - > C - > D.
A - > B - > E - > D.
A - > C - > E - > D.
并使用"WHERE NOT"来消除节点B.
所以我将离开路径A - > C - > E - > D.
我有什么方法可以做到这一点?
这是我的Cypher:
MATCH (home { name:'Grove' }),(school { name:'Moulton' }),(Ann {name:'Ann'}),
p = ((home)-[*..4]->(school))
WHERE NOT ((home)-[]->(Ann))
RETURN p
Run Code Online (Sandbox Code Playgroud)
它不适合我
您可以使用子句中的NONE谓词WHERE来过滤包含B节点的路径.有关示例,请参见http://console.neo4j.org/?id=hppthl.
cypher语句如下所示:
MATCH p=(:Person { name:'A' })-[:KNOWS*..4]->(:Person { name:'D' }),
(without:Person { name:'B' })
WHERE NONE (x IN nodes(p) WHERE x=without)
RETURN p
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
778 次 |
| 最近记录: |