我有一个包含两个顶点集合的图:景点(绿色)和酒店(橙色)。
我想查询某个景点和酒店的组合,如下所示:
Attraction (start vertex) ---> Attraction ---> Hotel
|
|
v
Attraction
图具有如图所示的有向边。
我现在的查询(如下)给出了上述组合的任何部分,而不是与上面完全连接的四个节点。
FOR document IN Attraction FOR vertex, edge, path IN 1..2 OUTBOUND document GRAPH "LondonAttractionDB"
FILTER path.vertices[0].entityTypes[0] == "Attraction"
FILTER path.vertices[1].entityTypes[0] == "Attraction"
FILTER path.vertices[2].entityTypes[0] == "Hotel" OR path.vertices[2].entityTypes[0] == "Attraction"
RETURN path
以上查询给出了所有包含两个、三个或四个节点的组合,如上所示。我怎样才能只得到圆圈内显示的结果(正好四个节点的组合)?
非常感谢任何帮助。
您的意思是结果有重复吗? 如果是,那么您可以在返回值中使用
DISTINCT
。
否则,尝试 BFS 唯一顶点和唯一边: