ArangoDb 获取具有属性的边

ArangoDb get edges with properties

我正在使用 ArangoDb 最新版本,但遇到问题。 我有两个 collections:

国家(这是文档 collection)和距离(这是边缘 collection,键为:_from、_to、distance)。

如何通过 AQL 获取有关 Country.Continent = 'Europe' 的国家/地区与边缘 collection 之间的距离的所有信息?

SQL 会像这样:

Select * from Country c, Distance d where c.Continent = 'Europe'

谢谢。

我最近在做一个项目,开始使用ArangoDB,希望能对你有所帮助。

我从 Arango 和 AQL 文档的以下链接中获得了一些灵感来回答我的问题:

请查看下面我的 AQL 查询,如果有帮助请告诉我。您可以将 FILTER 上的 'Europe' 部分替换为 @Continent,这将允许您在需要时动态指定它。

FOR country IN Country
  FILTER country.Continent == 'Europe'
  FOR vertex, edge, path
  IN OUTBOUND country Distance
  RETURN path

这为我产生了以下结果。我刚刚创建了一些测试集,其中有 2 个边将国家连接在一起。我已经在 'FOR' 部分包含了查询的顶点、边和路径,因此欢迎您通过替换顶点或边来尝试最后的 'RETURN' 部分并查看为您带来什么结果。

[
  {
    "edges": [
      {
        "_key": "67168",
        "_id": "Distance/67168",
        "_from": "Country/67057",
        "_to": "Country/67094",
        "_rev": "_aecXk7---_",
        "Distance": 5
      }
    ],
    "vertices": [
      {
        "_key": "67057",
        "_id": "Country/67057",
        "_rev": "_aecWJ0q--_",
        "countryName": "UK",
        "Continent": "Europe"
      },
      {
        "_key": "67094",
        "_id": "Country/67094",
        "_rev": "_aecWZhi--_",
        "countryName": "Italy",
        "Continent": "Europe"
      }
    ]
  },
  {
    "edges": [
      {
        "_key": "67222",
        "_id": "Distance/67222",
        "_from": "Country/67057",
        "_to": "Country/67113",
        "_rev": "_aecYB9---_",
        "Distance": 10
      }
    ],
    "vertices": [
      {
        "_key": "67057",
        "_id": "Country/67057",
        "_rev": "_aecWJ0q--_",
        "countryName": "UK",
        "Continent": "Europe"
      },
      {
        "_key": "67113",
        "_id": "Country/67113",
        "_rev": "_aecWmEy--_",
        "countryName": "Spain",
        "Continent": "Europe"
      }
    ]
  }
]

例如,如果您将 'RETURN path' 部分替换为 'RETURN edge',您将只检索边,如果这就是您所需要的,如下所示:

[
  {
    "_key": "67168",
    "_id": "Distance/67168",
    "_from": "Country/67057",
    "_to": "Country/67094",
    "_rev": "_aecXk7---_",
    "Distance": 5
  },
  {
    "_key": "67222",
    "_id": "Distance/67222",
    "_from": "Country/67057",
    "_to": "Country/67113",
    "_rev": "_aecYB9---_",
    "Distance": 10
  }
]