Groovy Gremlin根据其元属性检索多个属性

Groovy Gremlin根据其元属性检索多个属性,groovy,gremlin,janusgraph,Groovy,Gremlin,Janusgraph,我需要根据几个属性的元属性检索顶点 p.addV('v01'). property(list, 'p01', 'p01value01', 'modified_by', 'user01', 'modified_date', '12/12/9999') property(list, 'p02', 'p02value01', 'modified_by', 'user01', 'modified_date', '12/12/2021') p.addV('v01'). prope

我需要根据几个属性的元属性检索顶点

p.addV('v01').
    property(list, 'p01', 'p01value01', 'modified_by', 'user01', 'modified_date', '12/12/9999')
    property(list, 'p02', 'p02value01', 'modified_by', 'user01', 'modified_date', '12/12/2021')

p.addV('v01').
    property(list, 'p01', 'p01value02', 'modified_by', 'user01', 'modified_date', '12/12/2021')
    property(list, 'p02', 'p02value02', 'modified_by', 'user01', 'modified_date', '12/12/9999')

如何选择元属性(modified_by==“12/12/9999”)所在的属性

您可以访问元属性,如下所示。
where
步骤过滤掉没有匹配属性的任何顶点。如果要返回属性而不是顶点,Youn可以根据需要修改此查询

g.V().where(properties().properties('modified_date').hasValue('12/12/9999'))
如果需要属性,只需移动where步骤即可

g.V().properties().where(properties('modified_date').hasValue('12/12/9999')))

您可以访问元属性,如下所示。
where
步骤过滤掉没有匹配属性的任何顶点。如果要返回属性而不是顶点,Youn可以根据需要修改此查询

g.V().where(properties().properties('modified_date').hasValue('12/12/9999'))
如果需要属性,只需移动where步骤即可

g.V().properties().where(properties('modified_date').hasValue('12/12/9999')))

嗨,开尔文,当我使用g.V().properties().where(properties('modified_date').hasValue('12/12/9999'))时,有没有一种方法可以使结果平坦化?你能举例说明你需要什么吗?当使用“where”时,结果将是==>vp[p01->p01value01]==>vp[p02->p01value02]我如何将其格式化为这样:{props={p01=[p01value01],p02=[p01value02]},id=16400,label=profile}原因是我正在使用gremlin python和flask,我想通过jsonifyI解析它。我在你的博客中找到了答案!谢谢group().by(键)。by(值)Hi Kelvin,当我使用g.V().properties()时,有没有一种方法可以使结果平坦化。其中(properties('modified_date')。hasValue('12/12/9999'))你所说的“平坦化结果”是什么意思?你能举例说明你需要什么吗?当使用“where”时,结果将是==>vp[p01->p01value01]==>vp[p02->p01value02]我如何将其格式化为这样:{props={p01=[p01value01],p02=[p01value02]},id=16400,label=profile}原因是我正在使用gremlin python和flask,我想通过jsonifyI解析它。我在你的博客中找到了答案!谢谢group().by(键).by(值)