not sure if this may work for you, but you could query via sql something 
like

select from E where out contains [<start-rid1>, <start-rid2>, <start-ridn>] 
and in contains [<end-rid1>, <end-rid2>, <end-ridn>] and <some-property>=
"something"



Il giorno mercoledì 30 novembre 2016 15:19:24 UTC+1, Ray Neiheiser ha 
scritto:
>
> 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 orient-database+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to