OrientDB从顶点获取标签并从顶点获取关系

时间:2016-11-29 09:20:57

标签: java orientdb tinkerpop-blueprint

我有两个不同的问题:

如何获取顶点对象的标签。 我尝试了vertex.getId()。getClass()和类似的东西,但没有任何东西甚至接近我设置到顶点的标签。

并且,我如何获得连接一组顶点的任何顶点的关系。

Iterable<Vertex> startNodes = getVertexList(relationshipStorage.getStartNode(), graph);
                Iterable<Vertex> endNodes = getVertexList(relationshipStorage.getEndNode(), graph);

                List<Edge> list = StreamSupport.stream(startNodes.spliterator(), false)
                        .flatMap(vertex1 -> StreamSupport.stream(vertex1.getEdges(Direction.OUT, relationshipId).spliterator(), false))
                        .filter(edge -> StreamSupport.stream(endNodes.spliterator(), false).anyMatch(vertex -> edge.getVertex(Direction.OUT).equals(vertex)))
                        .collect(Collectors.toList());

我目前正在浏览所有起始顶点并查看离开它们的关系是否与其中一个结束顶点匹配。 不是没有更好的吗?

1 个答案:

答案 0 :(得分:1)

您可以使用

vertex.getProperty("@class");

获取顶点类的名称。