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
最佳答案
如果要创建类似聊天的内容,则在两个节点之间创建很多相同的关系不是一个好主意。
实际上,创建这样的模型会更加容易和快捷:
(:User{Foo:"Bar})-[:POSTED]->(:Message{content:"Hello World"})-[:SENT_TO]->(:User{Foo:"blabla"})
这样,您将能够在邮件中存储更多内容,并且使用节点进行操作更容易。
您可以检查this reddit topic找出执行所需操作的最佳实践。