如何在OrientDB java api上使用标签/类提取边缘

如何在OrientDB java api上使用标签/类提取边缘,java,orientdb,Java,Orientdb,我想在JavaAPI上使用一个或多个类/标签从一个顶点开始获取出边 这是我的示例代码,它导致NPE。 我试着使用Edge和OrientEdge private Iterable<OrientEdge> queryNextEdges(OrientVertex vertex) { OrientGraphFactory factory = new OrientGraphFactory( "remote:127.0.0.1:2424/xyz", "admin"

我想在JavaAPI上使用一个或多个类/标签从一个顶点开始获取出边

这是我的示例代码,它导致NPE。 我试着使用Edge和OrientEdge

private Iterable<OrientEdge> queryNextEdges(OrientVertex vertex) {
    OrientGraphFactory factory = new OrientGraphFactory(
            "remote:127.0.0.1:2424/xyz", "admin", "admin"
    ).setupPool(1, 10);
    OrientGraph graph = factory.getTx();
    Iterable<OrientEdge> queryResult;
    try {
        queryResult = (Iterable<OrientEdge>) (OrientEdge) vertex.getEdges(Direction.OUT, "hierarchy");
    } finally {
        graph.shutdown();
    }
    return queryResult;
}

我试着复制你的例子,它是有效的


希望能有所帮助。

我试着重现你的例子,效果很好


希望有帮助。

看起来
顶点的属性设置为空。你是如何得到顶点的?你为什么不使用它们而创建
OrientGraphFactory
OrientGraph
实例?@IvanMainetti是的,你是对的,这是我尝试过的其他东西的遗留代码,对不起。@Lvca你是对的顶点有问题,不是我得到边的方式。我试着用另一种方法获取顶点,结果成功了。看起来
顶点
的属性设置为空。你是如何得到顶点的?你为什么不使用它们而创建
OrientGraphFactory
OrientGraph
实例?@IvanMainetti是的,你是对的,这是我尝试过的其他东西的遗留代码,对不起。@Lvca你是对的顶点有问题,不是我得到边的方式。我试着用另一种方法得到顶点,它成功了。谢谢,我试着用你的方法得到顶点,它成功了。它帮助我找出代码中的错误。这不是我得到边的方式,而是我在第一次使用的顶点place@Wozilla当前位置既然这样做有效,也许可以将此标记为正确答案这是公平的。但是对于其他读过这篇文章的人来说,只是为了避免混淆。这个例子并不能完全解决我的错误,但仍然是一个有效的例子。谢谢,我试着用你的方式得到顶点,它成功了。它帮助我找出代码中的错误。这不是我得到边的方式,而是我在第一次使用的顶点place@Wozilla当前位置既然这样做有效,也许可以将此标记为正确答案这是公平的。但是对于其他读过这篇文章的人来说,只是为了避免混淆。这个例子并不能完全解决我的错误,但仍然是一个有效的例子。
Caused by: java.lang.NullPointerException
at com.tinkerpop.blueprints.impls.orient.OrientVertex.getFieldNames(OrientVertex.java:1042)
at com.tinkerpop.blueprints.impls.orient.OrientVertex.getEdges(OrientVertex.java:810)
at com.tinkerpop.blueprints.impls.orient.OrientVertex.getEdges(OrientVertex.java:782)
at ebs.window.graphLayout.GraphLayoutPresenter.queryNextEdges(GraphLayoutPresenter.java:214)