当我遍历图形时,如何在顶点上收集数据,然后将其与结果一起输出?

时间:2016-10-07 09:01:14

标签: neo4j graph-databases titan gremlin tinkerpop

我正在尝试使用图形数据库来建模简单的新闻源。虽然我没有使用Neo4j,但我粗略地遵循了这个模型的图表:

http://neo4j.com/docs/snapshot/cypher-cookbook-newsfeed.html

下面的gremlin查询检索来自每个用户朋友的15个最新帖子以及用户自己的帖子。 (我稍后会对此进行排名,过滤和分页)。

g.V().hasLabel("user").has("userid", "john.smith")
     .union(
         out("posted"),
         both("friend").out("posted")
     ).next(15).toList();

问题是我需要自己检索有关users的数据。诸如头像网址,显示名称等内容。此数据作为属性存储在每个user顶点上。

当我遍历图表并将其与每个帖子一起输出时,如何收集这些数据?

简单地使用注入的user对象返回每个帖子会很棒,其中包含连接到每个帖子的user个顶点的所有属性:

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

执行此操作的一种方法是使用select()

g.V().hasLabel("user").has("userid", "john.smith").as('user')
     .union(
         out("posted"),
         both("friend").out("posted")
     ).as('posts').select('user','posts').next(15).toList();