Titan Graph:通过查询特定顶点进行分组

时间:2014-02-12 17:32:46

标签: titan

我有以下情况:

User (userId,Name)
Group (groupId,groupName,createdTime)

User ------ created -------> Group1
User ------ created -------> Group2
User ------ created -------> Group3

我希望以降序的顺序获取用户创建的组列表。我有这个查询

//g is TitanGraph
g.query().interval("createdTime",0,time).orderBy("createdTime", 
                 Order.DESC).limit(5).vertices();

这将遍历整个图表。但我希望使用userId

的特定用户

表示我将userId显示由userIdcreatedTime

排序的g.query().has(`userId`,'xyz').interval("createdTime",0,time).orderBy("createdTime", Order.DESC).limit(5).vertices(); 创建的所有群组

我正在尝试的一个

{{1}}

不要工作。它什么也没有回来。

2 个答案:

答案 0 :(得分:1)

这个怎么样?

g.v(userId).outE.interval("createdTime",0,time).orderBy("createdTime", Order.DESC).limit(5);

答案 1 :(得分:1)

当您需要顶点查询时,您正在使用图形查询:

https://github.com/thinkaurelius/titan/wiki/Vertex-Centric-Indices

首先查询顶点,然后从那里执行查询,如:

Vertex v = g.getVertex(userId)
v.query().has(`userId`,'xyz').interval("createdTime",0,time).orderBy("createdTime", 
                 Order.DESC).limit(5).vertices()

我想这基本上是@MarcoCI用Titan / Java而不是Gremlin编写的答案。