使用 Gremlin - Tinkerpop3 获取具有所有属性的顶点标签图

Get map of vertex labels with all properties with Gremlin - Tinkerpop3

我正在尝试return类似

的东西
{
  "label1" : ["prop1","prop2"],
  "label2" : ["prop3","prop4"],
  "label2" : ["prop1","prop3"]
}

等,其中标签[N]是顶点标签值,道具数组是这些顶点的属性。

我可以获得标签列表和属性列表,但无法将它们合并到一个对象中。我可能会做这两个查询并最终组合这两个数组,但是像

g.V().valueMap().select(keys).dedup();

只获取有属性的地方,所以如果顶点类型没有任何属性,数组 return 与

不同
g.V().label().dedup();

这是使用 gremlin 语法 (TP3) 谢谢

我假设您正在尝试获取某种架构定义。请注意,这将是一个相当昂贵的遍历,因为您必须迭代所有顶点才能执行此操作:

gremlin> g.V().
......1>   group().
......2>     by(label).
......3>     by(properties().
......4>        label().
......5>        dedup().
......6>        fold())
==>[software:[name,lang],person:[name,age]]