我刚刚开始与Orient合作,并且正在寻找一种方法来提取(超级)图https://en.wikipedia.org/wiki/Connected_component_%28graph_theory%29的所有连通组件(子图)。 也就是说,每个提取的项是子图,其中任何两个顶点通过路径彼此连接,并且在超图中没有连接到其他顶点。 我很兴趣使用Orient DB SQL(可能是Match,Traverse)进行检索?我尝试了几个使用Natch和Traverse,但无法得到结果。我正在使用Orient DB 2.2.22社区版。
在我的测试用例中,我有一个包含11个节点和14个边缘的超图。九个节点连接,另外两个节点仅相互连接。我想发出一个查询,并能够检索2个子图。节点有class => “组”和边缘有class =“Overlaps”。
我尝试了这个作为第一个剪辑: SELECT $ path FROM(TRAVERSE both('Overlaps')FROM Groups WHILE $ depth< = 100)但是带回了一组路径。 我也尝试使用Match但确实得到了我需要的结果。 必须有一种方法来选择连接的路径的元素,然后为每个连接的集合将这些节点聚合成不同的集合。
我很感激任何可以帮助我解决这些问题的建议或例子。
由于 JGZ
答案 0 :(得分:2)