GRAPH_COMMON_NEIGHBORS只返回没有路径的公共邻居



我使用的是图的公共邻居,但我只需要返回得到的顶点,不需要花哨的

[
  {collection/1:{
    collection/2:[
     {_id:3 ...},
     {_id:7 ...} 
    ]
  }
]

我只需要返回的_id:3和_id:7部分:

[
  {_id:3 ...},
  {_id:7 ...}
]

现在我正试着打破我的头脑如何理解这一点,因为它不是列表,我不能FLATTEN它。是否有一些隐藏的功能或钩子只返回结果顶点?或者,我应该使用两个GRAPH_NEIGHBORS查询手动执行此操作,就像我相信它通常所做的那样,并用第一个查询限制第二个查询吗?

确定最终查询,以我想要的格式返回结果:

FOR entry 
IN GRAPH_COMMON_NEIGHBORS('nodes', "node/137789480179", "node/137987398899", {direction: 'outbound'}, {direction: 'outbound'}) 
FOR a in ATTRIBUTES(entry) FOR b in ATTRIBUTES(entry[a]) RETURN entry[a][b]

它返回了我想要的结果,尽管它可能还需要一些改进,比如按标题字母顺序对结果进行排序。。。我试过了,但没用。

结果结构的原因是您可以用示例而不是单个顶点来调用它。当然,在你的情况下,邻居属于哪个顶点对是显而易见的。要对结果进行排序,您可以执行以下操作:

FOR entry IN GRAPH_COMMON_NEIGHBORS("nodes", "node/137789480179", "node/137987398899",      {maxDepth : 2}, {maxDepth : 2}) LET X =  entry["node/137789480179"]["node/137987398899"] FOR v      IN X SORT v.name DESC RETURN v

最新更新