假设我有4个顶点类:V1,V2,V3,V4
还有3个边缘类:E1,E2,E3
然后它们的实例(可能)像这样相互连接:
检查其他路径是否存在(如果存在,则返回 V4):
然后它们的实例(可能)像这样相互连接:
V1 --E1--> V2
V2 --E2--> V3
V2 --E3--> V4
V3 --E3--> V4
因此,图形方面可能是这样的:
V1---E1---V2
| \
E2 E3
| \
V3---E3---V4
按照上面所示的方向。
我现在对从V1到V4沿着上述准确边缘的路径感兴趣(它们之间可能还有其他边缘,我们不知道,因此只有已经提到的边缘类型可以使用。)
要检查从V1到V4的路径是否存在(如果路径存在,将返回V4):
SELECT EXPAND(out('E1').out('E3')) FROM V1 WHERE id = <someIdThatV1Has>
检查其他路径是否存在(如果存在,则返回 V4):
SELECT EXPAND(out('E1').out('E2').out('E3')) FROM V1 WHERE id = <someIdThatV1Has>
我唯一的兴趣是知道这两条路径中是否存在一条。我希望通过一次查询来实现这个目标。
问题
如何将这两个查询合并为一个查询,以找出这两条路径中是否存在一条?
如果可能的话,非常感谢您提供关于如何合并不同遍历查询的一般答案,并回答明确问题。
谢谢!