繁体   English   中英

在ArangoDB中按Edge属性过滤顶点

[英]Filtering Vertices by Edge-Attribut in ArangoDB

我是ArangoDB的新手,请尝试做一个时空数据库。 对于顶点“ Parz1”,我连接了两个GeoJSON。 我的目标是过滤几何顶点,其边缘中的键“ Ende”的值为“ 9999”。 在文档中找不到有关如何通过边的值过滤顶点的信息。 谢谢您的帮助!

第一个顶点:

  Document: Parzelle/Parz1
    _rev:83054176547
    _key:Parz1
    {
      "Nummer": "1",
      "Gmd": "Muttenz"
    }

几何顶点:

    Document: Geometrie/Geom1
    _rev:83050703139
    _key:Geom1
    {
      "type": "Polygon",
      "coordinates": [
        [
          [
            600000,
            200000
          ],
          [
            600000,
            200002
          ],
          [
            600002,
            200002
          ],
          [
            600002,
            200000
          ],
          [
            600000,
            200000
          ]
        ]
      ]
    }
Document: Geometrie/Geom4
_rev:83051424035
_key:Geom4
{
  "type": "Polygon",
  "coordinates": [
    [
      [
        600000,
        200000
      ],
      [
        599998,
        200000
      ],
      [
        600000,
        200002
      ],
      [
        600002,
        200002
      ],
      [
        600002,
        200000
      ],
      [
        600000,
        200000
      ]
    ]
  ]
}

和边缘:

Edge: hatGeom/37050525987
_rev:83056470307
_key:37050525987
_from:Parzelle/Parz1
_to:Geometrie/Geom1
{
  "Start": "1950",
  "Ende": "2010"
}

Edge: hatGeom/37067237667
_rev:83056797987
_key:37067237667
_from:Parzelle/Parz1
_to:Geometrie/Geom4
{
  "Start": "2011",
  "Ende": "9999"
}

使用ArangoDB 2.8,我们提供了一个新的遍历和模式匹配api 然后,您可以有效地按边和顶点过滤:

FOR v, e, p IN 
  1..3 OUTBOUND 'vertexCollection/startVertex'
  GRAPH 'geometryGraph' 
    FILTER p.edges[1].start > 1950 RETURN v

您甚至可能希望使用Geo索引来查找图形遍历的开始匹配项:

FOR startVertex IN WITHIN(vertexCollection, @latitude, @longitude, @limit) 
  FOR v, e, p IN 
    1..3 OUTBOUND startVertex
    GRAPH 'geometryGraph' 
      FILTER p.edges[1].start > 1950 RETURN v

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM