Neo4j 是否有与管道(|)类似的安培(&;)符号?

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子句。我现在已经删除了。我

在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
子句。我现在已经删除了。

我没有看到任何带有语句的

关系类型中不支持与符号(&)运算符。您展示了一种可以通过
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系列。

啊,好的,谢谢。是的,
的事情对我来说只是个大脑放屁,谢谢你指出这一点。