【发布时间】:2020-02-19 18:48:31
【问题描述】:
我正在尝试编写满足响应对象中两个要求的单个查询:
必须包括顶点的所有属性,而不是在查询中指定单个字段。
必须在对象的同一级别上展平结果。
作为单独的查询,我可以这样做:
1。 valueMap查询
g.V(1)
.valueMap().by(unfold()).fold()
回复:
{
"property1": "value1",
"property2": "value2"
}
2。 project查询
g.V(1)
.project("projectedProperty")
.by(out("X").valueMap().by(unfold()).fold())
回复:
{
"projectedProperty": "value",
}
组合查询
我尝试使用联合来组合这些结果:
g.V(1)
.union(
valueMap().by(unfold()).fold(), // Query 1
project("projectedField").by(out("X").valueMap().by(unfold()).fold()) // Query 2
).fold()
回复:
{
[
{
"property1": "value1",
"property2": "value2"
},
{
"projectedProperty": "value"
}
]
}
这种联合方法依赖于我在最后放置一个折叠,这反过来又不能正确合并/展平两个地图。预期响应是:
{
"property1": "value1",
"property2": "value2",
"projectedProperty": "value"
}
有没有更好的方法来完成合并/展平响应对象中的两个地图的任务?
【问题讨论】:
标签: gremlin