首页 文章

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

提问于
浏览
0

我想回复一些类似的东西

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

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

我可以得到一个标签列表,我可以得到一个属性列表,但我不能将它们组合在一个对象中 . 我可能会做两个查询并最终合并两个数组,但类似于

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

只获取有任何属性的属性,所以如果顶点类型没有任何属性,则返回的数组与执行的数组大小不同

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

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

1 回答

  • 5

    我假设你正试图获得一种模式定义 . 请注意,这将是一个相当昂贵的遍历,因为您必须迭代所有顶点才能执行此操作:

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

相关问题