是否可以在这样的节点之间创建一组关系? situation in RDBMS DB
用户可以启用服务,服务有一组可以使用的帐户,用户与一组帐户相关。
目的是从用户开始,找到启用了哪组服务,并为每项服务找到相关帐户。
感谢。
答案 0 :(得分:0)
目前尚不清楚您是否确实需要User
和Account
之间的直接关系(鉴于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;
此查询将返回包含User
,Service
和Account
值的行。如果用户没有Service
,则Account
和NULL
值可以是Service
。如果Account
没有NULL
,则Service
值可以为Account
。