检查两个节点之间是否存在关系后,Cypher返回布尔值

时间:2014-06-07 12:10:40

标签: database graph neo4j cypher

如果两个提供的节点之间存在关系,我希望Cypher返回1,如果它们之间存在空关系,则返回0。

这里有一个密码可以找到关系并返回它,但是我想要一个布尔值来反对结果

OPTIONAL MATCH (n:Node {id: {parameter1}})-[r:someType]-(n:Node {id: {parameter2}}) RETURN r

1 个答案:

答案 0 :(得分:8)

你可以尝试这个,如果存在一个或多个关系,它应该返回1,否则返回0.

MATCH (n:Node {id: {parameter1}})-[r:someType]-(m:Node {id: {parameter2}})
RETURN SIGN(COUNT(r))

请注意,我使用n和m作为两个节点的标识符,以标记它们不一定相同。