我正在为事件系统建模。假设我有一个名为EVENT_A的事件。当我创建一个事件时,我会捕获一些信息 - 导致事件的人(A人),受事件影响的人(B人)以及B人如何受到影响(B的财产(汽车,房屋等)被识别出来。)
(EVENT_A) - > [:AFFECTS] - >(PERSON {是:b})
现在的关键 - 我:
要么工作。
#1的优点/缺点:
#2的优点/缺点:
那么关于什么是关系以及哪些东西被堆积到节点中的指南是什么?
答案 0 :(得分:1)
最好在关系中使用不同的关系类型而不是一个属性。
(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})