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

标签 arangodb aql

我有以下 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/

相关文章:

ArangoDB:图形查看器中边和顶点的自定义标签

python - 类型错误 : 'dict' object is not callable in connecting - Arangodb - Python

max - 如何在 ArangoDB AQL 查询中获取第一个和最后一个条目

mysql - ArangoDB 自定义排序顺序

arangodb - 如何避免与ArangoDB中的AQL冲突?

mysql - 用于检索电影关系的图形引擎

arangodb - Foxx 应用程序返回 404

javascript - 在 ArangoDB 上加载大型集合

regex - 使用正则表达式提取由定界符分隔的文本的某些部分

sql - 通过 Crontab 作业运行时,KSH 脚本无法正确运行