Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Orientdb 定向DB Java Api以返回多个值_Orientdb - Fatal编程技术网

Orientdb 定向DB Java Api以返回多个值

Orientdb 定向DB Java Api以返回多个值,orientdb,Orientdb,我试图通过从Java运行OrientDb命令来获取多个值。具体地说,我试图得到一个顶点列表,这些顶点链接到一个顶点和@rid的边 例如,如果顶点V1通过边E1链接到顶点V2,则我对V1的查询应返回@rid of E1和V2 我可以在Orient Studio中通过运行以下查询来实现这一点: select @rid, expand(in) from ExampleEdge where out = '#14:33' 如何用Java编写上述查询?所有示例仅显示单值结果,如: Iterable<

我试图通过从Java运行OrientDb命令来获取多个值。具体地说,我试图得到一个顶点列表,这些顶点链接到一个顶点和@rid的边

例如,如果顶点V1通过边E1链接到顶点V2,则我对V1的查询应返回@rid of E1和V2

我可以在Orient Studio中通过运行以下查询来实现这一点:

select @rid, expand(in) from ExampleEdge where out = '#14:33'
如何用Java编写上述查询?所有示例仅显示单值结果,如:

Iterable<Vertex> vertexes = graph.command(new OCommandSQL("select expand(in()) from node where @rid = '#14:33'")).execute();    

我有一个简单的结构:

要获取RID,可以使用以下代码:

String yourRid = "#12:0";
Iterable<Vertex> targets = g.command(new OSQLSynchQuery<Vertex>("select from ?")).execute(yourRid);

for (Vertex target : targets) {

Iterable<Edge> r = target.getEdges(Direction.IN, "exampleEdge");
List<Edge> results = new ArrayList<Edge>();
CollectionUtils.addAll(results, r.iterator());

    System.out.println("Starting Vertex: "+yourRid);
    System.out.println();

    for (Edge result:results){

        System.out.println("Edge "+result.getId()+" connected with Vertex "+result.getVertex(Direction.OUT).getId());

    }

}

我能够使用getEdgesDirection获得边缘,。。和getEdgesDirection.出去,。。。谢谢你的回复。
Starting Vertex: #12:0

Edge #13:3 connected with Vertex #12:1
Edge #13:4 connected with Vertex #12:2
Edge #13:5 connected with Vertex #12:3