在Neo4j中,是否可以为不同的实体使用相同的关系名称

时间:2017-12-06 21:10:39

标签: neo4j spring-data-neo4j neo4j-ogm

我们以电影DB为例。 如果我要在数据库中插入所有在电影上工作的人,那么很难找到每个人的关系名称。将实体包括:sound_designer,sound_engineer,set_designer,set_assistance,cable_guy等与Movie实体具有相同的“WORKS_IN”关系是一个问题。可能吗?这是一个好的解决方案吗?我有问题吗?还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

Gabor在评论中的答案很好,不同标签的节点与同一节点具有相同类型的关系没有问题。

具有角色的多标记节点并不是一个坏主意,但是假设一个人的角色在图表捕获的整个年份中是不变的,这可能不成立。或者更确切地说,标签将捕捉他们在整个历史中扮演的角色,但他们在特定电影中扮演的具体角色可能是您想要作为关系本身的属性,例如role属性。如果一个人可能有同一部电影的多个角色,那么甚至可能是一个列表,类似于扮演部分的演员(其中有roles列表属性:ACTED_IN关系)。