2016-11-29 127 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"); 

拿到班級的頂點的名字。