Titan图:按查询对特定顶点进行分组

Titan图:按查询对特定顶点进行分组,titan,Titan,我有以下情况: User (userId,Name) Group (groupId,groupName,createdTime) User ------ created -------> Group1 User ------ created -------> Group2 User ------ created -------> Group3 我想获得由用户创建的组列表,按删除顺序排列。我有这个疑问 //g is TitanGraph g.query().interval(

我有以下情况:

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
并显示由该
userId
创建的所有组,按
createdTime

我试过的一个

g.query().has(`userId`,'xyz').interval("createdTime",0,time).orderBy("createdTime", 
                 Order.DESC).limit(5).vertices();
不起作用。它只是什么也没有返回。

这个怎么样

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

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

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

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

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

您想要单个
userId
的结果,还是每个
userId
的聚合结果?我将获取
userId
并显示由该
userId
创建的所有组名,按CreatedTime排序您可以用Java给出吗土卫六特有的代码。因为我得到了它,但对如何为泰坦做这件事感到困惑。小精灵不应该从
g.v(userId)
(parens而不是方括号)开始吗?我知道这一点,但问题是
VertexQuery
没有
OrderBy
方法。它的
TitanGraphQuery
有方法
OrderBy
。您可以仅从
TitanGraph
获取
TitanGraphQuery
IdGraph
没有任何OrderBy支持。这里我说的是
IdGraph
cos
g.getVeretx(userId)
将只在
IdGraph
cos
userId
中运行,而
TitanGraph
是我给vertex的自定义id,不支持这一点。所以基本上,我必须使用IdGraph通过它的Id来获得一个特定的顶点,所以我不会得到OrderBy查询方法。对吗?这里得到了相同问题的解决方案