neo4j 中的双向数据建模问题



我有两个节点,A和B,A 与 B 对话,B 与 A 对话,(A)-[:talksTo]-(B)

A

对 B 具有情感值,B 对 A 具有情感值。

所以有一个问题,我需要 A 到 B 关系来存储 B 到 A 关系也想要存储的值(相同的键)。

所以我会尝试做这样的查询,例如,MATCH (A:person)-[:talksTo]-(B:person),其中 A.sentiment <-2 返回 A;

因此,

这里A对B的情绪将与B对A的情绪不同,因此需要分离。

我试图制作唯一的键名称来指定方向 - 但这会使查询变得困难,除非我可以使用通配符进行查询,例如:...其中 A.Asentiment <-2 将被查询为...其中 A.*情绪 <-2

我能想到的另一种方法是制作两个不同的图表,1)A 与 B 图对话,B 与 A 图对话...但这会使查询变得棘手,因为我可能会为单节点查询返回多个节点,或者如果我必须将单个节点键:值更新为其他内容。我希望每人有一个节点名称。

有什么想法吗?

我不知道这是一个解决方案,但我认为我理解得不够多,所以它可能是更好地理解的陪衬:

MATCH (A:Person)-[dir1:talksTo]->(B:Person), (A)<-[dir2:talksTo]-(B)
WHERE dir1.sentiment < 2
RETURN A, B

相关内容

  • 没有找到相关文章

最新更新