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

를 사용할 수 있습니다.