1

在 Java 和 SQL 中,我都可以通过顶点列表递归来获取所有链接节点。但是在使用 fetchPlan 时我似乎无法得到相同的结果。

这将返回正确的图(链接到父节点的所有节点,但不是共享相同子节点的其他父节点)

traverse out('Dependency') from #33

我正在寻找一个将返回相同图表的获取计划。下面粘贴的是一个接近但拉入其他根节点的 fetchPlan,我只想要一个父节点的所有子节点。

id.getRecord().toJSON("fetchPlan:out_Dependency:6")

我的数据库有 2 个顶点和 1 个边连接它们。父级-> 边缘-> 子级。一个孩子可能与多个父母相关联,但从父母的角度来看,我只想看到他的孩子没有与父母联系。

4

2 回答 2

0

使用 javascript,您可以将此函数与参数 rid 一起使用

var g=orient.getGraph();
var nodes = [];
var previous=[];
var currently=[];
var b=g.command("sql","select from " + rid);
if(b.length>0){
    var vertex=b[0];
    previous.push(vertex);
    nodes.push(vertex);
    do{
        for(i=0;i<previous.length;i++){
            var vertexOut=previous[i];
            var vertices=g.command("sql","select expand(out('Dependency')) from "+ vertexOut.getId());
            for(j=0;j<vertices.length;j++){ 
                currently.push(vertices[j]);
                nodes.push(vertices[j]);
            }
        }
        change();
    }while(previous.length>0);
    return nodes;
}

function change(){
    previous=[];
    for (indice=0;indice<currently.length;indice++)
        previous.push(currently[indice]);
    currently=[];
}

希望能帮助到你

于 2016-07-29T09:34:01.553 回答
0

尝试这个:

select @this.toJSON('fetchPlan:out_Dependency:2') from #21:0

这就是我得到的:

在此处输入图像描述

如您所见,查询只返回链接的孩子而不是其他父母。

希望能帮助到你。

问候。

于 2016-07-27T22:04:52.527 回答