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.