无法使用 gremlin 查询获取 post 中的评论列表
Unable to get comment list in post using gremlin query
我有以下顶点和边。
User1 -> create ->Post1
Post1 -> postedOnWall -> User2
User2 -> create ->Comment1
Comment1 -> PostedOnComment -> Post1
User3 -> create -> Comment2
Comment2 -> PostedOnComment -> Post1
用户 1 创建了帖子 1 并将其发布到用户 2 的墙上。现在 User2 创建了一条评论并 post 在 Post1 上编辑了它。并且 User3 也 post 对同一个 post 发表了评论。
如何获取用户墙上所有 post 的列表以及每个 post 中的所有评论。
我正在通过以下查询获取 post 的列表:
g.v(512).in('label','WallPost').sort{it.PostedTime}.reverse().().as('postInfo')[0..10].in('label','Comment').().as('comment').select{it}{it}
我找不到任何方法来获取每个 post 的评论列表。
使用 select()
步骤可以让您非常接近,但我认为 transform()
可能正是您要寻找的。我已经在 gist 中发布了完整的 Gremlin 控制台会话结果,但关键部分是:
gremlin> g.V('name','user2').in('PostedOnWall').sort{ a, b -> b.PostedTime <=> a.PostedTime }._().transform{ [post: it.msg, comments: it.in('PostedOnComment').msg.toList()] }
==>{post=what is for dinner?, comments=[tacos]}
==>{post=hello, comments=[buenos dias, bongiorno]}
我有以下顶点和边。
User1 -> create ->Post1
Post1 -> postedOnWall -> User2
User2 -> create ->Comment1
Comment1 -> PostedOnComment -> Post1
User3 -> create -> Comment2
Comment2 -> PostedOnComment -> Post1
用户 1 创建了帖子 1 并将其发布到用户 2 的墙上。现在 User2 创建了一条评论并 post 在 Post1 上编辑了它。并且 User3 也 post 对同一个 post 发表了评论。
如何获取用户墙上所有 post 的列表以及每个 post 中的所有评论。
我正在通过以下查询获取 post 的列表:
g.v(512).in('label','WallPost').sort{it.PostedTime}.reverse().().as('postInfo')[0..10].in('label','Comment').().as('comment').select{it}{it}
我找不到任何方法来获取每个 post 的评论列表。
使用 select()
步骤可以让您非常接近,但我认为 transform()
可能正是您要寻找的。我已经在 gist 中发布了完整的 Gremlin 控制台会话结果,但关键部分是:
gremlin> g.V('name','user2').in('PostedOnWall').sort{ a, b -> b.PostedTime <=> a.PostedTime }._().transform{ [post: it.msg, comments: it.in('PostedOnComment').msg.toList()] }
==>{post=what is for dinner?, comments=[tacos]}
==>{post=hello, comments=[buenos dias, bongiorno]}