gpt4 book ai didi

json - 获取简单格式的顶点属性信息

转载 作者:行者123 更新时间:2023-12-01 04:46:15 25 4
gpt4 key购买 nike

假设我在图中有两个节点“A”和“B”,每个节点都具有“名称”(字符串)和“roll-no”(整数)属性。如何编写查询以获取以下格式的节点属性信息。请注意,我不需要输出中的数据类型信息和嵌套的 json 结构。

[{name=[apple], roll-no=[10,20]}, {name=[mango], roll-no=[30]}]

我想我在问如何将 GraphSON 转换为普通的 JSON。

最佳答案

您可以 project()元素变成 Map :

gremlin> g.V(1).project('name','age').by('name').by('age')
==>[name:marko,age:29]

如您所见,采用这种方法可以让您在控制 by() 中的属性时以更细粒度的方式控制 map 的生成方式。步进调制器。如果返回的顶点没有同构的属性键,您将需要以某种方式说明这一点 - 这是一种可能性:
gremlin> g.V().project('name','age').
......1> by('name').
......2> by(coalesce(values('age'),constant('none')))
==>[name:marko,age:29]
==>[name:vadas,age:27]
==>[name:lop,age:none]
==>[name:josh,age:32]
==>[name:ripple,age:none]
==>[name:peter,age:35]

不使用项目,你也可以做这样的事情:
gremlin> g.V().local(properties().group().by(key()).by(value()))
==>[name:marko,age:29]
==>[name:vadas,age:27]
==>[name:lop,lang:java]
==>[name:josh,age:32]
==>[name:ripple,lang:java]
==>[name:peter,age:35]

不太清楚 project()并且将获得通常不鼓励的所有属性,但显然这种方法会奏效。我想您可以逐项列出要获得的属性,如下所示:
gremlin> g.V().local(properties('name','age').group().by(key()).by(value()))
==>[name:marko,age:29]
==>[name:vadas,age:27]
==>[name:lop]
==>[name:josh,age:32]
==>[name:ripple]
==>[name:peter,age:35]

关于json - 获取简单格式的顶点属性信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47880552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com