也许这是一个很长的镜头,但值得一试......
我有以下关系 User1 - [:MATCHED] -User2 ,我想允许其他用户对该关系给出反馈(Like),我猜这个明显的答案是从中定义新节点键入匹配,它将为每两个匹配的用户创建,然后与喜欢该匹配的每个用户的LIKE关系相关联。
我正在尝试考虑在图中建模的其他方法,而没有为每个匹配创建新节点的开销......
一个关系是否可以与除开始/结束节点之外的其他节点相关?
任何帮助将不胜感激。
答案 0 :(得分:0)
Neo4j不支持超图或与关系的关系。建模您与节点的MATCHED关系可能是最佳选择。
另一种方法是引用另一个节点的关系id:
User1-[MATCHED]->User2 (where MATCHED has the id xyz)
User3-[LIKES]->Relationship(relId = xyz)
“Relationship”节点将包含MATCHED关系的id作为属性。需要将此relId属性编入索引以查找给定MATCHED关系的所有LIKES。
此解决方案不适合遍历。