Cypher:如何通过更多元素创建多个依赖关系?

时间:2016-06-08 15:04:13

标签: neo4j relationship

是否可以在这样的节点之间创建一组关系? situation in RDBMS DB

用户可以启用服务,服务有一组可以使用的帐户,用户与一组帐户相关。

目的是从用户开始,找到启用了哪组服务,并为每项服务找到相关帐户。

感谢。

1 个答案:

答案 0 :(得分:0)

目前尚不清楚您是否确实需要UserAccount之间的直接关系(鉴于Service也有Account s,这可能是多余的)。在这个答案中,我将假设他们不需要。

根据我的假设,这是一个如何创建图解图表(减去一个关系)的示例:

CREATE (u:User {id: 123})-[:HAS_SERVICE]->(s:Service)-[:HAS_ACCOUNT]->(a:Account);

“从用户开始,查找启用了哪组服务,并为每项服务查找相关帐户”:

MATCH (u:User {id: 123})
OPTIONAL MATCH (u)-[:HAS_SERVICE]->(s:Service)
OPTIONAL MATCH (s)-[:HAS_ACCOUNT]->(a:Account)
RETURN u, s, a;

此查询将返回包含UserServiceAccount值的行。如果用户没有Service,则AccountNULL值可以是Service。如果Account没有NULL,则Service值可以为Account