首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查询连接到Arango DB图中多个节点的节点

如何查询连接到Arango DB图中多个节点的节点
EN

Stack Overflow用户
提问于 2018-04-17 10:01:18
回答 1查看 269关注 0票数 1

我有一个图包含两种类型的节点:景点和酒店。

我想做的是对酒店的查询,这些酒店被三大景点所包围。我现在(下面)的查询给出了至少连接到一个吸引点的酒店。

代码语言:javascript
复制
FOR document IN Attraction
FOR vertex, edge, path IN 1..2 OUTBOUND document GRAPH "LondonAttractionDB" 
FILTER path.vertices[0].entityTypes[0] == "Attraction" OR path.vertices[0].entityTypes[0] == "Attraction" OR path.vertices[0].entityTypes[0] == "Attraction"
FILTER path.vertices[1].entityTypes[0] == "Hotel"
FOR prop4 IN path.edges[0].properties  
FILTER prop4.name == "name" AND prop4.value == "Food_and_beverage_location" 
OR prop4.name == "name" AND prop4.value == "Food_and_beverage_location" 
OR prop4.name == "name" AND prop4.value == "Accommodation_location" 
RETURN DISTINCT path

这将给出以下结果。(橙色酒店,绿色景点)

如何在圆圈内显示结果?(酒店与三个景点相连)

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-17 10:38:36

如果没有关于数据集(文档结构和集合)的详细信息,很难回答,但是根据您的示例查询和描述,我将使用另一种方法:

  • 翻阅所有文件(景点和酒店似乎都在同一个收藏中)。
  • 按类型过滤旅馆
  • 对于每一个酒店节点,都要有具有传入边缘的邻居
  • 按吸引类型过滤这些节点
  • 数一数酒店有多少个节点
  • 有三个相连景点的返回酒店
代码语言:javascript
复制
FOR hotel IN Attraction
  FILTER doc.entityTypes[0] == "Hotel"
  LET attractions = (
      FOR vertex IN 1..1 INBOUND hotel GRAPH "LondonAttractionDB"
      FILTER vertex.entityTypes[0] == "Attraction"
      RETURN 1
  )
  FILTER LENGTH(attractions) == 3
  RETURN hotel
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49875156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档