在Java和SQL中,我可以通过顶点列表递归以获取所有链接节点。但是在使用fetchPlan时我似乎无法得到相同的结果。
这将返回正确的图形(链接到父节点的所有节点,但不包含共享同一子节点的其他父节点)
traverse out('Dependency') from #33
我正在寻找一个将返回相同图表的获取计划。下面粘贴的是一个fetchPlan,它关闭但是拉入其他根节点,我只想要一个父节点的所有子节点。
id.getRecord().toJSON("fetchPlan:out_Dependency:6")
我的数据库有2个顶点和1个边连接它们。家长 - >边缘 - >儿童。一个孩子可能与多个父母有关,但从父母的角度来看,我只想看到他的孩子没有与父母联系。
答案 0 :(得分:0)
试试这个:
select @this.toJSON('fetchPlan:out_Dependency:2') from #21:0
这就是我得到的:
正如您所看到的,查询只返回链接的子节点,而不是其他父节点。
希望它有所帮助。
问候。
答案 1 :(得分:0)
使用javascript,您可以将此功能与参数化删除
一起使用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=[];
}
希望有所帮助