Neo4j新手在这里。 我有一个图形数据库,节点为Person,节点之间的边是POSTED,POSTED有属性" message",现在我想返回与某些消息的关系。我写的查询如下:
MATCH (ppl) -[p:POSTED]->(s)
WHERE p.message = "How are you?"
RETURN p
它什么都不返回。
进行关系查询的正确方法是什么? 我可以提出一些问题:
MATCH (a) -[:KNOWS]->(ppl),
(ppl) -[p:POSTED]->(s)
WHERE p.message = "How are you?"
RETURN p
答案 0 :(得分:1)
如果你想创建类似聊天的东西,那么在两个节点之间创建大量相同的关系并不是一个好主意。
事实上,创建这样的模型会更容易,更快:
(:User{Foo:"Bar})-[:POSTED]->(:Message{content:"Hello World"})-[:SENT_TO]->(:User{Foo:"blabla"})
这样,您就可以在邮件中存储更多内容,并且可以更轻松地对节点进行操作。
您可以查看this reddit topic以了解执行所需操作的最佳做法。