You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ArangoDB遍历查询:如何检查指定属性是否存在于任意边?

如何在ArangoDB全路径遍历中检查属性是否存在于任意边中

你的核心问题是原查询的第三个过滤条件错误地校验了所有边的hs_codes值,而你需要的是路径中任意一条边包含hs_codes: '120400'。可以通过以下两种方式修改查询:

修改方案1:使用ANY关键字

将第三个过滤条件改为p.edges[*].hs_codes ANY == '120400',明确指定只要集合中存在任意一个匹配项即可:

FOR v, e, p IN 1..6 INBOUND 'company_node_20_02_23/60673bced674d38fcc9c438f' 
                    GRAPH graph_correct
    OPTIONS {bfs: true, uniqueVertices: 'global', maxIterations: 100000}
    FILTER p.edges[*].actual_arrival_date ALL >= '2021-04' AND
           p.edges[*].actual_arrival_date ALL <= '2021-05' AND
           p.edges[*].hs_codes ANY == '120400' 
    RETURN p

修改方案2:使用IN操作符

也可以用IN来检查目标值是否存在于边的hs_codes集合中,效果完全一致:

FOR v, e, p IN 1..6 INBOUND 'company_node_20_02_23/60673bced674d38fcc9c438f' 
                    GRAPH graph_correct
    OPTIONS {bfs: true, uniqueVertices: 'global', maxIterations: 100000}
    FILTER p.edges[*].actual_arrival_date ALL >= '2021-04' AND
           p.edges[*].actual_arrival_date ALL <= '2021-05' AND
           '120400' IN p.edges[*].hs_codes 
    RETURN p

关键说明

  • 前两个过滤条件保留ALL关键字,确保路径中所有边的actual_arrival_date都落在2021-04到2021-05区间内
  • 第三个条件通过ANY或IN实现“任意一条边匹配”的逻辑,完全符合你的预期需求

内容的提问来源于stack exchange,提问作者himanshu jha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 05:34:54