【发布时间】:2016-10-08 22:40:41
【问题描述】:
是否可以像这样在节点之间创建一组关系? situation in RDBMS DB
一个用户可以启用一个服务,一个服务有一组可以使用的帐户,一个用户与一组帐户相关。
目标是从用户开始,找出启用了哪组服务,以及每个服务的相关帐户。
谢谢。
【问题讨论】:
标签: neo4j relationship
是否可以像这样在节点之间创建一组关系? situation in RDBMS DB
一个用户可以启用一个服务,一个服务有一组可以使用的帐户,一个用户与一组帐户相关。
目标是从用户开始,找出启用了哪组服务,以及每个服务的相关帐户。
谢谢。
【问题讨论】:
标签: neo4j relationship
不清楚您是否真的需要User 和Account 之间的直接关系(这可能是多余的,因为Services 也有Accounts)。在这个答案中,我假设它们是不需要的。
根据我的假设,下面是一个示例,说明如何创建图解图表(减去一个关系):
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 值的行。如果用户没有Services,则Service 和Account 值可以是NULL。如果Service 没有Accounts,则Account 的值可以是NULL。
【讨论】: