2017-07-05 77 views
0

neo4j中有可能“崩溃”关系吗?我试图描绘人与人之间的关系,他们可以以多种不同的方式相关 - 共享课程,共同撰写论文,RT或推特提及。现在,我将人物,课程,论文和推文都建模为节点。但我真正感兴趣的是对通过这些中间节点的人与人之间的关系进行建模。是否可以绘制隐式关系(person-course-person)显式(person-person),同时仍然将课程保持为一个节点?像这样的http://catalhoyuk.stanford.edu/network/teams/ - 幻灯片2和3.折叠关系Neo4j?

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

回答

0

是的,你可以做到。查询

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

意志箱与:IMPLICIT_RELATIONSHIP类型都与同一当然,所有的人之间的关系。但可能你不需要它,因为你可以从ab和从ba,没有这种额外和不必要的关系。另外,如果您希望查询时使用虚拟关系在投影中使用,则可以使用APOC procedureapoc.create.vRelationship

的APOC程序文档说:

虚拟节点和关系不图存在,他们只 返回给用户界面/用户用于表示图表投影。他们 可以可视化或处理,否则。请注意,他们有 负号。