Gremlin查询以结合边缘和属性

use*_*895 3 gremlin

我有一个数据架构,用户可以在其中查看产品。“用户”和“产品”是顶点,“评论”是用户和产品之间的MANY2MANY关系。“评论”具有边缘属性,例如标题和正文。

我想编写一个查询来获取产品的所有评论以及撰写评论的用户。我可以使用以下内容获得评论,但我不知道如何添加所有用户属性。

g。({product))。inE(“ reviews”)。values()

如何获得每个评论的用户信息?

Jas*_*rad 7

您可以执行以下操作:

l = g.V(pvid).                          // start with a product vertex id
      inE("reviews").as("r").           // label the review edges
      outV().as("u").                   // label the users
      select("r", "u").by(valueMap()).  // properties map
      toList()                          // iterate traversal into a list
Run Code Online (Sandbox Code Playgroud)

这将返回地图列表。每个地图将有2个键,ru,与select("r", "u")步骤相对应。然后,r地图中的值就是该评论的属性。同样,u地图中的值是用户的属性。

相关文件