Gremlin 小精灵。在父子关系中,按子关系的更高版本进行筛选
我有一个父子结构。子级有一个版本和一个组。我需要根据Gremlin 小精灵。在父子关系中,按子关系的更高版本进行筛选,gremlin,tinkerpop3,janusgraph,amazon-neptune,Gremlin,Tinkerpop3,Janusgraph,Amazon Neptune,我有一个父子结构。子级有一个版本和一个组。我需要根据组,父项为最新版本分组创建筛选器 此查询正确返回值,但我需要每种情况的顶点: g.V().hasLabel('Child') .group() .by( __.group() .by('tenant') .by(__.in('Has').values('name')) ) .by(__.values('version').max()) 有什么建议吗 谢谢你的帮助 数据: 输出: {{group1=child1}=0.0.2, {
组
,父项
为最新版本分组创建筛选器
此查询正确返回值,但我需要每种情况的顶点:
g.V().hasLabel('Child')
.group()
.by(
__.group()
.by('tenant')
.by(__.in('Has').values('name'))
)
.by(__.values('version').max())
有什么建议吗
谢谢你的帮助
数据: 输出:
{{group1=child1}=0.0.2, {group2=child1}=0.1.2, {group1=child3}=3.0.3, {group1=child2}=0.1.2}
但我需要每个案例的顶点
我假设你指的是子节点
顶点。以下遍历将为您提供所有数据:
gremlin> g.V().hasLabel("Child").
group().
by(union(values("tenant"), __.in("Has").values("name")).fold()).
unfold()
==>[group2, child1]=[v[14]]
==>[group1, child1]=[v[6], v[10]]
==>[group1, child2]=[v[18]]
==>[group1, child3]=[v[22]]
但是,您可能希望它的结构稍微好一点:
gremlin> g.V().hasLabel("Child").
group().
by(union(values("tenant"), __.in("Has").values("name")).fold()).
unfold().
project('tenant','name','v').
by(select(keys).limit(local, 1)).
by(select(keys).tail(local, 1)).
by(select(values).unfold())
==>[tenant:group2,name:child1,v:v[14]]
==>[tenant:group1,name:child1,v:v[6]]
==>[tenant:group1,name:child2,v:v[18]]
==>[tenant:group1,name:child3,v:v[22]]
但我需要每个案例的顶点
我假设你指的是子节点
顶点。以下遍历将为您提供所有数据:
gremlin> g.V().hasLabel("Child").
group().
by(union(values("tenant"), __.in("Has").values("name")).fold()).
unfold()
==>[group2, child1]=[v[14]]
==>[group1, child1]=[v[6], v[10]]
==>[group1, child2]=[v[18]]
==>[group1, child3]=[v[22]]
但是,您可能希望它的结构稍微好一点:
gremlin> g.V().hasLabel("Child").
group().
by(union(values("tenant"), __.in("Has").values("name")).fold()).
unfold().
project('tenant','name','v').
by(select(keys).limit(local, 1)).
by(select(keys).tail(local, 1)).
by(select(values).unfold())
==>[tenant:group2,name:child1,v:v[14]]
==>[tenant:group1,name:child1,v:v[6]]
==>[tenant:group1,name:child2,v:v[18]]
==>[tenant:group1,name:child3,v:v[22]]
你能展示一下你现在得到的输出和你想看到的输出吗。另外,如果你能提供一个小的测试图,那将非常有帮助。我用数据样本和输出更新了我的问题。谢谢@KelvinLawrence。请您展示一下您现在获得的输出以及您希望看到的输出。另外,如果你能提供一个小的测试图,那将非常有帮助。我用数据样本和输出更新了我的问题。谢谢@kelvinlawrence谢谢你的帮助!这真的很有帮助!谢谢你的帮助!这真的很有帮助!