如何在Orientdb中找到两个相关的顶点

How to find two related vertexs in Orientdb

有一个ClassAPI继承自V,它有三个属性:name,arguments和return_value,下面是一个例子:

{ "api": "_mbscmp", "arguments": [ "0x029605c8", “0x10011a74” ], "return_value": "-1", }

我已经创建了 3000 个 API 个顶点,接下来我想创建两条边:

1.Argument_sharing:两个API顶点有相同的参数,例如API一个有参数["1","2","3"]和API二有参数["X","y","1"],一和二会有一条边Argument_sharing,也就是说一和二有相同的参数"1"

2.Data_dependence:其中一个API的return_value与另一个的其中一个参数相同。例如,a = APIone(); API二(一);那么 APIone 和 APItwo 将有一个 Data_dependence 边。

所以我想要一个sql命令来找到两个相关的顶点

我试过这些记录

我使用了这个javascript函数

var g=orient.getGraph();
var api_list=g.command("sql","select from API");
for(i=0;i<api_list.length;i++){
    var api=api_list[i];
    var arguments=api.getProperty("arguments");
    for (j=i+1;j<api_list.length;j++){
        var api2=api_list[j];
        var arguments2=api2.getProperty("arguments");
        for(h=0;h<arguments.length;h++){
            var arguments_h=arguments[h];
            for(y=0;y<arguments2.length;y++){
                var arguments_y=arguments2[y];
                if(arguments_h==arguments_y){
                    g.command("sql","create edge Argument_sharing from " + api.getId()+ " to " + api2.getId());
                    break;
                }
            }
        }

    }
}

我得到了这些记录

希望对您有所帮助。