我是 neo4j 的新手,我正在建立一个社交网络。为了这个问题,我的图表由user
和event
节点组成,它们之间有关系。
用户可能会被邀请、加入、参加或主持一个活动,每个用户都是之前的一个子集。
我是否应该为每个状态/状态创建多个关系,或者与属性创建一个关系来存储当前状态是否有任何好处?
我是 neo4j 的新手,我正在建立一个社交网络。为了这个问题,我的图表由user
和event
节点组成,它们之间有关系。
用户可能会被邀请、加入、参加或主持一个活动,每个用户都是之前的一个子集。
我是否应该为每个状态/状态创建多个关系,或者与属性创建一个关系来存储当前状态是否有任何好处?
据我了解,图形类型的查询比属性更容易/更有效地完成关系类型。
一种关系如何,但关系类型不同?
您可以使用 Cypher 查询与管道的多种类型的关系(以防您与不想在查询中获取的事件有其他关系)。
更新——添加控制台示例:http ://console.neo4j.org/?id=woe684
或者,您可以将旧关系保留在那里,而不必构建稍微复杂的查询,但这对于这个用例来说有点浪费。
如果可能,在查询图表时,选择不同的关系类型而不是由属性限定的单一类型可能会对性能产生显着的积极影响。前一种方法比后者快至少 2 倍。当数据在高级缓存中并且使用本机 Java API 查询图形时,第一种方法的单跳遍历速度快 8 倍以上。
来源: http: //graphaware.com/neo4j/2013/10/24/neo4j-qualifying-relationships.html