崩溃关系Neo4j?

时间:2017-07-05 19:51:34

标签: twitter neo4j data-modeling graph-databases

是否有可能崩溃" neo4j中的关系?我试图描绘人与人之间的关系,他们可以通过多种不同方式联系起来 - 共享课程,联合撰写的论文,RT或推文提及。现在,我将人员,课程,论文和推文都建模为节点。但我真正感兴趣的是模拟通过这些中间节点的人与人之间的关系。是否可以将隐式关系(人 - 人 - 人)明确(人 - 人),同时仍然将课程保持为节点?像这样http://catalhoyuk.stanford.edu/network/teams/ - 幻灯片2和3。

欢迎任何其他数据建模建议。

1 个答案:

答案 0 :(得分:0)

是的,你可以做到。查询

MATCH(a:Person)-->(:Course)<--(b:Person)
CREATE (a)-[:IMPLICIT_RELATIONSHIP]->(b)

将在与同一课程相关的所有人之间创建与:IMPLICIT_RELATIONSHIP类型的关系。但是,你可能不需要它,因为你可以从ab以及ba之间没有这种额外的和非必要的关系。此外,如果您希望在查询时使用虚拟关系,则可以使用APOC procedure apoc.create.vRelationship

APOC程序文档说:

  

虚拟节点和关系图中不存在,它们是   仅返回UI /用户以表示图表投影。他们   可以以其他方式可视化或处理。请注意他们有   否定身份。