[英]How to query for a node that is connected to multiple nodes in Arango DB graph
我有一个图,其中包含两种类型的节点:景点和酒店。
我想做的就是查询被三个景点包围的酒店 。 我现在(在下面)的查询提供了至少与一个景点相关的酒店。
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
这给出了以下结果。 (橙色-酒店,绿色-景点)
如何在圈子中显示结果? (与三个景点相连的酒店)
任何帮助深表感谢。
没有数据集的详细信息(文档结构和集合),很难回答,但是根据您的示例查询和描述,我将使用另一种方法:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.