从 Neo4j Cypher allShortestPaths() 中排除包含给定节点或给定关系的路径
Excluding paths from Neo4j Cypher allShortestPaths() that contain a given node, or given relationship
给定以下 Neo4j Cypher 查询,返回的路径集合不包含任何包含 itemId 等于“Q5”的 Item 节点的路径的最佳方法是什么?
MATCH p=allShortestPaths( (a:Item {itemId:"Q6294"})-[*]-(b:Item {itemId:"Q359442"}) )
RETURN p;
此外,给定上述查询,返回的路径集合不包含任何包含 propId 等于“P31”的关系的路径的最佳方法是什么?
谢谢,
詹姆斯·韦弗
返回的路径集合不包含任何包含itemId等于“Q5”的Item节点的路径:
MATCH p=allShortestPaths( (a:Item {itemId:"Q6294"})-[*]-(b:Item {itemId:"Q359442"}) )
WHERE NONE(x IN NODES(p) WHERE x:Item AND x.itemId = "Q5")
RETURN p;
返回的路径集合不包含任何包含propId等于“P31”的关系的路径:
MATCH p=allShortestPaths( (a:Item {itemId:"Q6294"})-[*]-(b:Item {itemId:"Q359442"}) )
WHERE NONE(x IN RELATIONSHIPS(p) WHERE x.propId = "P31")
RETURN p;
给定以下 Neo4j Cypher 查询,返回的路径集合不包含任何包含 itemId 等于“Q5”的 Item 节点的路径的最佳方法是什么?
MATCH p=allShortestPaths( (a:Item {itemId:"Q6294"})-[*]-(b:Item {itemId:"Q359442"}) )
RETURN p;
此外,给定上述查询,返回的路径集合不包含任何包含 propId 等于“P31”的关系的路径的最佳方法是什么?
谢谢, 詹姆斯·韦弗
返回的路径集合不包含任何包含itemId等于“Q5”的Item节点的路径:
MATCH p=allShortestPaths( (a:Item {itemId:"Q6294"})-[*]-(b:Item {itemId:"Q359442"}) ) WHERE NONE(x IN NODES(p) WHERE x:Item AND x.itemId = "Q5") RETURN p;
返回的路径集合不包含任何包含propId等于“P31”的关系的路径:
MATCH p=allShortestPaths( (a:Item {itemId:"Q6294"})-[*]-(b:Item {itemId:"Q359442"}) ) WHERE NONE(x IN RELATIONSHIPS(p) WHERE x.propId = "P31") RETURN p;