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
cosg.getVeretx(userId)
将只在IdGraph
cosuserId
中运行,而TitanGraph
是我给vertex的自定义id,不支持这一点。所以基本上,我必须使用IdGraph通过它的Id来获得一个特定的顶点,所以我不会得到OrderBy查询方法。对吗?这里得到了相同问题的解决方案