That seems like an option. But isn't there any option in gremlin for it? Titan also uses gremlin and I can use:
GraphTraversal<Vertex, Edge> tempOutput = graph.traversal().V(nodeStartList.toArray()).bothE().filter(__.otherV().is(P.within(nodeEndList.toArray()))); Which will give me exactly what I want. Am Freitag, 2. Dezember 2016 01:23:04 UTC-2 schrieb Ivan Mainetti: > > 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
