我希望返回一个图遍历查询期间所有唯一的边和顶点列表。
这样可以给我想要的结果,但我需要执行两次相同的查询。
查询结果包含每个边和顶点,且仅出现一次:
如何使用一条查询语句来实现相同的结果(唯一顶点和唯一边)?
PS:结果被包装在一个数组中,是否有什么想法可以解决这个问题?如何避免这种情况发生?
LET eResults = (
FOR v,e
IN 1..2
ANY "entities/198593"
relations
OPTIONS { uniqueEdges: "path", bfs: true }
RETURN DISTINCT KEEP(e, "_key", "_from", "_to", "type")
)
LET vResults = (
FOR v,e
IN 1..2
ANY "entities/198593"
relations
OPTIONS { uniqueEdges: "path", bfs: true }
RETURN DISTINCT KEEP(v, "_key", "name")
)
RETURN { edges: eResults, vertices: vResults}
查询结果包含每个边和顶点,且仅出现一次:
[
{
"edges": [
{
"_from": "entities/198593",
"_key": "391330",
"_to": "entities/198603",
"type": 300
},
{
"_from": "entities/198593",
"_key": "391390",
"_to": "entities/198477",
"type": 110
},
...
],
"vertices": [
{ "_key": "198603", "name": "A" },
{ "_key": "198477", "name": "B" },
...
]
}
]
如何使用一条查询语句来实现相同的结果(唯一顶点和唯一边)?
PS:结果被包装在一个数组中,是否有什么想法可以解决这个问题?如何避免这种情况发生?