在Neo4j中,何时使用关系合适?
我正在建模一个事件系统。假设我有一个名为event_A的事件。当我创建一个事件时,我捕获了一些信息-谁导致了事件(人A),谁受到了事件的影响(人B),以及人B是如何受到影响的(B的财产(汽车、房子等)被识别) (事件A)->[:影响]->(人{is:b}) 现在的关键是——我是否:在Neo4j中,何时使用关系合适?,neo4j,Neo4j,我正在建模一个事件系统。假设我有一个名为event_A的事件。当我创建一个事件时,我捕获了一些信息-谁导致了事件(人A),谁受到了事件的影响(人B),以及人B是如何受到影响的(B的财产(汽车、房子等)被识别) (事件A)->[:影响]->(人{is:b}) 现在的关键是——我是否: 将“人员A”和“B的财产”放入事件A?将有数百个活动,最终。。。还是我 使它们成为影响关系的属性 两者都可以 #1的优点/缺点: 每个事件必须有一个事件节点;没有分享。这很烦人,因为我在EVENT_A中有可以在所有E
那么,什么是关系中的内容以及哪些内容堆积到节点中的指导原则呢?最好使用不同的关系类型,而不是关系中的一个属性
(PERSON {name: 'Rebeca'})-[:CAUSED]->(EVENT_A {id: 1})->[:AFFECTS_CAR]->(PERSON {name: 'John'})
(PERSON {name: 'Joe'})-[:CAUSED]->(EVENT_A {id: 2})->[:AFFECTS_HOUSE]->(PERSON {name: 'Rebeca'})
(PERSON {name: 'Simon'})-[:CAUSED]->(EVENT_A {id: 3})->[:AFFECTS_ETC]->(PERSON {name: 'William'})
此外,为了在节点之间共享信息,您可以使用节点来实现
(EVENT_A {id: 1})-[:HAS]->(DESCRIPTION {id: 1})
(EVENT_A {id: 2})-[:HAS]->(DESCRIPTION {id: 1})
(EVENT_A {id: 3})-[:HAS]->(DESCRIPTION {id: 1})