我正在使用Neo4j设计一个扩展的家族谱。在关系设计中,我想到了两种方法:
1. 对于每种情况都创建不同的关系(请记住,将会有很多情况=很多关系):
1. 对于每种情况都创建不同的关系(请记住,将会有很多情况=很多关系):
CREATE (p:Person)-[:PARENT_OF]->(s:Person)
CREATE (p:Person)-[:STEPPARENT_OF]->(s:Person)
CREATE (p:Person)-[:MARRIED_TO]->(s:Person)
2. 创建较少的关系,但是设计有点混乱:
CREATE (p:Person)-[r:PARENT_OF {type:'natural'}]->(s:Person)
CREATE (p:Person)-[r:PARENT_OF {type:'step'}]->(s:Person)
CREATE (p:Person)-[r:SPOUSE_OF {type:'marriage'}]->(s:Person)
我想知道哪种方法更好,为什么?