Neo4j查询关系属性

时间:2015-09-25 14:46:37

标签: mysql neo4j

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

1 个答案:

答案 0 :(得分:1)

如果你想创建类似聊天的东西,那么在两个节点之间创建大量相同的关系并不是一个好主意。

事实上,创建这样的模型会更容易,更快:

(:User{Foo:"Bar})-[:POSTED]->(:Message{content:"Hello World"})-[:SENT_TO]->(:User{Foo:"blabla"})

这样,您就可以在邮件中存储更多内容,并且可以更轻松地对节点进行操作。

您可以查看this reddit topic以了解执行所需操作的最佳做​​法。