gpt4 book ai didi

arangodb - 在 AQL 中按类型过滤图边的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-02 19:51:59 25 4
gpt4 key购买 nike

我有以下 super 简单的图表:picture of graph

我想做的是:

  1. 选择问题文档中名为firstQuestion 且值为true 的属性的所有问题。
  2. 选择通过 with_options 类型的出站边缘连接到问题的任何选项

以下查询有效,但是感觉必须有一种更好的方法来检查边缘类型,而不使用字符串操作 - 特别是我用来通过将边缘类型连接到键来重新创建边缘 _id 值的串联操作我想要 - 这是检查边缘类型的最佳方法吗?

FOR question IN questions 
FILTER question.firstQuestion == true
let options =
(FOR v, e IN 1..1 OUTBOUND question._id GRAPH 'mygraph'
FILTER CONCAT('with_options/', e._key) == e._id
RETURN v)
RETURN {question: question, options: options}

最佳答案

我们目前正在推出 IS_SAME_COLLECTION使用 ArangoDB 2.8.1 来实现该特定目的。DOCUMENT在这方面,功能也值得一提。

FOR question IN questions 
FILTER question.firstQuestion == true
LET options = (FOR v, e IN 1..1 OUTBOUND question._id GRAPH 'mygraph'
FILTER IS_SAME_COLLECTION('with_options', e._id)
RETURN v)
RETURN {question: question, options: options}

但是,这种特殊情况下的最佳解决方案不是使用命名图形接口(interface),而是 specify the list of edge collections that should be concerned by the traversal第一名:

FOR question IN questions 
FILTER question.firstQuestion == true
LET options = (FOR v, e IN 1..1 OUTBOUND question._id with_options RETURN v)
RETURN {question: question, options: options}

关于arangodb - 在 AQL 中按类型过滤图边的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35070470/

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