I have some performance problems with reading edges depending on their 
start and end nodes. Is there a better way than checking every edges end 
vertex of every start vertex?

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());

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to