Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arangodb AQL查询多个边缘定义_Arangodb_Aql - Fatal编程技术网

Arangodb AQL查询多个边缘定义

Arangodb AQL查询多个边缘定义,arangodb,aql,Arangodb,Aql,我也不熟悉图形数据库和arangodb。 我试图用不同的边定义查询一个图,但没有找到任何这样的例子。用于获取我找到的一条边的结果的查询 FOR p IN person FOR vx, ex, px IN ANY p GRAPH "test" FILTER vx.brand == "BMW" RETURN DISTINCT p 为p本人 对于任何p图中的vx、ex、px,“测试”过滤器vx.brand==“BMW”返回不同的p 例如: 我有顶点“人”、“车”和“房子”,边“有车”(人->车)和

我也不熟悉图形数据库和arangodb。 我试图用不同的边定义查询一个图,但没有找到任何这样的例子。用于获取我找到的一条边的结果的查询

FOR p IN person FOR vx, ex, px IN ANY p GRAPH "test" FILTER vx.brand == "BMW" RETURN DISTINCT p 为p本人 对于任何p图中的vx、ex、px,“测试”过滤器vx.brand==“BMW”返回不同的p 例如: 我有顶点“人”、“车”和“房子”,边“有车”(人->车)和“住在里面”(人->房子)。为了尝试,我创建了三个图表。一个用于每个边定义,另一个用于两个边定义

我的问题:什么是正确的查询方式:

  • 拥有“宝马”并居住在“城堡”中的人
  • 住在“摩天大楼”而没有汽车的人
  • 住在“摩天大楼”而没有“宝马”的人

  • 谢谢。

    如果你从终点开始呢?这样你就可以检查一个房间了

    例如,以下是从宝马汽车开始的示例(对于第一个问题)


    谢谢,如果我有时间再来一次,我会试试的。您是否也有案例2和案例3的示例?是否要存储其他关系、不同长度的可能路径,并查找所有路径?或者模型将保持与此相似?在您的案例中,使用集合集而不是命名图并以一个深度进行多次遍历可能更容易。
    for car in Car filter car.brand=="BMW"
      for v,e,p in 0..2 any car._id graph 'test'
        filter p.edges[0]!=null && is_same_collection('has_car', p.edges[0])
        && p.vertices[1]!=null && is_same_collection('Person', p.vertices[1])
        && p.edges[1]!=null && is_same_collection('lives_in', p.edges[1])
        && p.vertices[2]!=null && p.vertices[2].house=="Castle"
      return distinct(p.vertices[1])