2016-11-29 96 views
0

我有两个单独的问题:OrientDB从顶点获取标签,并从顶点获得关系

如何获得顶点对象的标签。 我试过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

你可以使用

vertex.getProperty("@class"); 

拿到班级的顶点的名字。