Neo4j 是否有与管道(|)类似的安培(&;)符号?
在Cypher查询Neo4j 是否有与管道(|)类似的安培(&;)符号?,neo4j,cypher,Neo4j,Cypher,在Cypher查询match(a)-[:X | Y]-(b)返回a,b中,我们匹配所有与X相关或与Y相关的a,b对。如果我们想找到所有的a,b对,它们都是X相关的和Y相关的呢 无论是match(a)-[:X&Y](b)返回a,b还是match(a)-[:X&Y](b)返回a,b似乎都不起作用。使用这样的语句是唯一的方法吗 match (a)-[X]-(b) where (a)-[Y]-(b) return a, b 编辑:出于某种原因,我说上面的语句包含了一个with子句。我现在已经删除了。我
match(a)-[:X | Y]-(b)返回a,b
中,我们匹配所有与X相关或与Y相关的a,b对。如果我们想找到所有的a,b对,它们都是X相关的和Y相关的呢
无论是match(a)-[:X&Y](b)返回a,b
还是match(a)-[:X&Y](b)返回a,b
似乎都不起作用。使用这样的语句是唯一的方法吗
match (a)-[X]-(b)
where (a)-[Y]-(b)
return a, b
编辑:出于某种原因,我说上面的语句包含了一个
with
子句。我现在已经删除了。我没有看到任何带有语句的
关系类型中不支持与符号(&)运算符。您展示了一种可以通过WHERE
语句实现的方法
match (a)-[:X]-(b)
where (a)-[:Y]-(b)
return a, b
另一种方法是使用两个MATCH
语句
match (a)-[:X]-(b)
match (a)-[:Y]-(b)
return a, b
我确信还有其他方法可能您返回的是[:X]和[:Y]的不同(b)。如果是这样,这种类型的查询是否可以满足您的需要
match (a:Person{RN:1})-[r:father|mother]->(b:Person)
with a,collect(b.RN) as bc,collect(type(r)) as rels
with a,bc,rels
return a.RN,bc,rels
如果您想获得两行,可以展开b系列。啊,好的,谢谢。是的,和
的事情对我来说只是个大脑放屁,谢谢你指出这一点。