Neo4j - 如何根据关系的类型和/或级别设计图形数据库

时间:2017-08-09 15:17:11

标签: neo4j

例如在工作环境,家庭,社区等中。例如:

在A面,B是Boss - 在B面,A是下属 在C方面,D是教师 - 在D方面,C是学生 在E方面,F是父亲 - 在F方面,E是小孩 在E方面,D是教师 - 在D方面,E是学生。

上级,下属,教师,学生,父亲,孩子等属性可以随时增加,更改和删除。

1 个答案:

答案 0 :(得分:1)

您可以使用3种关系类型来表示您的“关系”。例如,REPORTS_TOHAS_STUDENTHAS_CHILD

(a)-[:REPORTS_TO]->(b)
(d)-[:HAS_STUDENT]->(c)
(f)-[:HAS_CHILD]->(e)
(d)-[:HAS_STUDENT]->(e)

虽然必须使用特定方向(例如,从教师节点到学生节点)创建neo4j关系(例如,类型HAS_STUDENT),但它可以很容易(并且高效地)在进行查询时以相反(或任一)方向遍历。