据我所知,在图形数据库中,如果已经创建了它,则不必创建另一个相同的节点。所以我有这样的帖子:
U.username P.post
rio hello
rio hello
正如我之前所说的那样,您不必创建另一个相同的节点,因此上面的两个帖子都将存储在一个节点中。每个节点都可以有一些注释。例如,我对hello
的第一篇帖子发表评论test
,如下所示:
U.username P.post C.comment
rio hello test
rio hello
我有像这样的密码查询语言来返回属于第一篇文章的评论:
MATCH (U:User)-[G:Give]->(C:Comment)<-[H:Has]-(P:Post)<-[S:Shout]-(FU:User)
WHERE P.post_id={post_id} AND FU.user_id={poster_user_id}
RETURN U.username,C.comment
如果我使用上面的密码,第一个帖子hello
和第二个帖子都会返回相同的评论,但它应该是第一个帖子hello
只应返回评论,而第二个应该没有不会返回属于第一篇帖子hello
的评论。
我的问题是如何返回属于指定帖子的评论(在这种情况下是第一篇帖子hello
)?
播放帮助。如果你有其他好的密码模型,请告诉我。 感谢。
答案 0 :(得分:1)
我不确定我是否了解您的数据模型,但如果您有一个用户节点和每个帖子的节点(即使帖子具有相同的文本),您的查询也应该有效。您只会收到有评论的帖子。
答案 1 :(得分:1)
您的数据模型似乎很奇怪。或者我可能不理解它。
我关于如何建模博客引擎的初步思考过程如下 -
节点类型(标签) 您需要至少有3种类型的节点。
<强>关系强> 以下是这些节点的连接方式..
对于简单的博客引擎来说,这应该足够了。
注意:博客文章的每个评论都是一个单独的节点(我不确定是否有任何其他方法,因为在节点的属性部分中保留迭代密钥变得困难) 。如果多个评论连接到单个节点,那么您可以自动假设它们是该博客帖子的评论。