@Override public Iterable<Edge> getEdges(final Direction direction, final String... labels) { final List<Iterable<Edge>> edges = new ArrayList<Iterable<Edge>>(); for (final String label : labels) { final Derivation derivation = this.derivedGraph.getDerivation(label); if (null != derivation) { edges.add(derivation.incident(direction, this)); } else { edges.add(new DerivedEdgeIterable(((Vertex) this.baseElement).getEdges(direction, label), this.derivedGraph)); } } return new MultiIterable<Edge>(edges); }
@Override public Iterable<Vertex> getVertices(final Direction direction, final String... labels) { final List<Iterable<Vertex>> vertices = new ArrayList<Iterable<Vertex>>(); for (final String label : labels) { final Derivation derivation = this.derivedGraph.getDerivation(label); if (null != derivation) { vertices.add(derivation.adjacent(direction, this)); } else { vertices.add(new DerivedVertexIterable(((Vertex) this.baseElement).getVertices(direction, label), this.derivedGraph)); } } return new MultiIterable<Vertex>(vertices); }
public CloseableIterable<Vertex> getVertices(final Direction direction, final String... labels) { graph.autoStartTransaction(false); if (direction.equals(Direction.OUT)) { return this.getIterable(Vertex.class, SPARKSEE_OUT, labels); } else if (direction.equals(Direction.IN)) { return this.getIterable(Vertex.class, SPARKSEE_IN, labels); } else { return new MultiIterable<Vertex>(new ArrayList<Iterable<Vertex>>( Arrays.asList(this.getIterable(Vertex.class, SPARKSEE_IN, labels), this.getIterable(Vertex.class, SPARKSEE_OUT, labels)))); } }
public CloseableIterable<Edge> getEdges(final Direction direction, final String... labels) { graph.autoStartTransaction(false); if (direction.equals(Direction.OUT)) { return this.getIterable(Edge.class, SPARKSEE_OUT, labels); } else if (direction.equals(Direction.IN)) { return this.getIterable(Edge.class, SPARKSEE_IN, labels); } else { return new MultiIterable<Edge>(new ArrayList<Iterable<Edge>>( Arrays.asList(this.getIterable(Edge.class, SPARKSEE_IN, labels), this.getIterable(Edge.class, SPARKSEE_OUT, labels)))); } }
@Override public CloseableIterable<Vertex> getVertices() { autoStartTransaction(false); com.sparsity.sparksee.gdb.Graph rawGraph = getRawGraph(); com.sparsity.sparksee.gdb.TypeList tlist = rawGraph.findNodeTypes(); List<Iterable<Vertex>> vertices = new ArrayList<Iterable<Vertex>>(); for (Integer type : tlist) { com.sparsity.sparksee.gdb.Objects objs = rawGraph.select(type); vertices.add(new SparkseeIterable<Vertex>(this, objs, Vertex.class)); } tlist.delete(); tlist = null; return new MultiIterable<Vertex>(vertices); }
@Override public CloseableIterable<Edge> getEdges() { autoStartTransaction(false); com.sparsity.sparksee.gdb.Graph rawGraph = getRawGraph(); com.sparsity.sparksee.gdb.TypeList tlist = rawGraph.findEdgeTypes(); List<Iterable<Edge>> edges = new ArrayList<Iterable<Edge>>(); for (Integer type : tlist) { com.sparsity.sparksee.gdb.Objects objs = rawGraph.select(type); edges.add(new SparkseeIterable<Edge>(this, objs, Edge.class)); } tlist.delete(); tlist = null; return new MultiIterable<Edge>(edges); }
public Iterable<Edge> getEdges(final Direction direction, final String... labels) { if (direction.equals(Direction.OUT)) { return this.getOutEdges(labels); } else if (direction.equals(Direction.IN)) return this.getInEdges(labels); else { return new MultiIterable<Edge>(Arrays.asList(this.getInEdges(labels), this.getOutEdges(labels))); } }
public Iterable<Edge> getEdges(final Direction direction, final String... labels) { if (direction.equals(Direction.OUT)) { return this.getOutEdges(labels); } else if (direction.equals(Direction.IN)) return this.getInEdges(labels); else { return new MultiIterable<Edge>(Arrays.asList(this.getInEdges(labels), this.getOutEdges(labels))); } }
private <T extends Element> CloseableIterable<T> getIterable(Class<T> clazz, com.sparsity.sparksee.gdb.EdgesDirection direction, final String... labels) { if (labels.length == 0) { com.sparsity.sparksee.gdb.TypeList tlist = graph.getRawGraph().findEdgeTypes(); final List<Iterable<T>> elements = new ArrayList<Iterable<T>>(); for (Integer type : tlist) { elements.add(getIterable(clazz, type, direction)); } tlist.delete(); tlist = null; return new MultiIterable<T>(elements); } else if (labels.length == 1) { int type = graph.getRawGraph().findType(labels[0]); return getIterable(clazz, type, direction); } else { final List<Iterable<T>> elements = new ArrayList<Iterable<T>>(); for (final String label : labels) { int type = graph.getRawGraph().findType(label); elements.add(this.getIterable(clazz, type, direction)); } return new MultiIterable<T>(elements); } } }
public Iterable<Edge> getEdges(final Direction direction, final String... labels) { if (direction.equals(Direction.OUT)) { return this.getOutEdges(labels); } else if (direction.equals(Direction.IN)) return this.getInEdges(labels); else { return new MultiIterable<Edge>(Arrays.asList(this.getInEdges(labels), this.getOutEdges(labels))); } }
private Iterable<Edge> getOutEdges(final String... labels) { if (this.rawVertex instanceof Resource) { if (labels.length == 0) { return new SailEdgeIterable((Resource) this.rawVertex, null, null, this.graph); } else if (labels.length == 1) { return new SailEdgeIterable((Resource) this.rawVertex, new URIImpl(this.graph.expandPrefix(labels[0])), null, this.graph); } else { final List<Iterable<Edge>> edges = new ArrayList<Iterable<Edge>>(); for (final String label : labels) { edges.add(new SailEdgeIterable((Resource) this.rawVertex, new URIImpl(this.graph.expandPrefix(label)), null, this.graph)); } return new MultiIterable<Edge>(edges); } } else { return Collections.emptyList(); } }
private Iterable<Edge> getInEdges(final String... labels) { if (labels.length == 0) { return new SailEdgeIterable(null, null, this.rawVertex, this.graph); } else if (labels.length == 1) { return new SailEdgeIterable(null, new URIImpl(this.graph.expandPrefix(labels[0])), this.rawVertex, this.graph); } else { final List<Iterable<Edge>> edges = new ArrayList<Iterable<Edge>>(); for (final String label : labels) { edges.add(new SailEdgeIterable(null, new URIImpl(this.graph.expandPrefix(label)), this.rawVertex, this.graph)); } return new MultiIterable<Edge>(edges); } }
public Iterable<Edge> getEdges(final com.tinkerpop.blueprints.Direction direction, final String... labels) { this.graph.autoStartTransaction(false); if (direction.equals(com.tinkerpop.blueprints.Direction.OUT)) return new Neo4jVertexEdgeIterable(this.graph, (Node) this.rawElement, Direction.OUTGOING, labels); else if (direction.equals(com.tinkerpop.blueprints.Direction.IN)) return new Neo4jVertexEdgeIterable(this.graph, (Node) this.rawElement, Direction.INCOMING, labels); else return new MultiIterable(Arrays.asList(new Neo4jVertexEdgeIterable(this.graph, (Node) this.rawElement, Direction.OUTGOING, labels), new Neo4jVertexEdgeIterable(this.graph, (Node) this.rawElement, Direction.INCOMING, labels))); }
public Iterable<Vertex> getVertices(final com.tinkerpop.blueprints.Direction direction, final String... labels) { this.graph.autoStartTransaction(false); if (direction.equals(com.tinkerpop.blueprints.Direction.OUT)) return new Neo4jVertexVertexIterable(this.graph, (Node) this.rawElement, Direction.OUTGOING, labels); else if (direction.equals(com.tinkerpop.blueprints.Direction.IN)) return new Neo4jVertexVertexIterable(this.graph, (Node) this.rawElement, Direction.INCOMING, labels); else return new MultiIterable(Arrays.asList(new Neo4jVertexVertexIterable(this.graph, (Node) this.rawElement, Direction.OUTGOING, labels), new Neo4jVertexVertexIterable(this.graph, (Node) this.rawElement, Direction.INCOMING, labels))); }
private Iterable<Edge> getInEdges(final String... labels) { if (labels.length == 0) return new RexsterEdgeIterable(this.graph.getGraphURI() + RexsterTokens.SLASH_VERTICES_SLASH + RestHelper.encode(this.getId()) + RexsterTokens.SLASH_INE, this.graph); else if (labels.length == 1) { return new RexsterEdgeIterable(this.graph.getGraphURI() + RexsterTokens.SLASH_VERTICES_SLASH + RestHelper.encode(this.getId()) + RexsterTokens.SLASH_INE + RexsterTokens.QUESTION + RexsterTokens._LABEL_EQUALS + RestHelper.encode(labels[0]), this.graph); } else { final List<Iterable<Edge>> edges = new ArrayList<Iterable<Edge>>(); for (final Object filter : labels) { edges.add(new RexsterEdgeIterable(this.graph.getGraphURI() + RexsterTokens.SLASH_VERTICES_SLASH + RestHelper.encode(this.getId()) + RexsterTokens.SLASH_INE + RexsterTokens.QUESTION + RexsterTokens._LABEL_EQUALS + RestHelper.encode(filter), this.graph)); } return new MultiIterable<Edge>(edges); } }
private Iterable<Edge> getOutEdges(final String... labels) { if (labels.length == 0) return new RexsterEdgeIterable(this.graph.getGraphURI() + RexsterTokens.SLASH_VERTICES_SLASH + RestHelper.encode(this.getId()) + RexsterTokens.SLASH_OUTE, this.graph); else if (labels.length == 1) { return new RexsterEdgeIterable(this.graph.getGraphURI() + RexsterTokens.SLASH_VERTICES_SLASH + RestHelper.encode(this.getId()) + RexsterTokens.SLASH_OUTE + RexsterTokens.QUESTION + RexsterTokens._LABEL_EQUALS + RestHelper.encode(labels[0]), this.graph); } else { final List<Iterable<Edge>> edges = new ArrayList<Iterable<Edge>>(); for (final Object filter : labels) { edges.add(new RexsterEdgeIterable(this.graph.getGraphURI() + RexsterTokens.SLASH_VERTICES_SLASH + RestHelper.encode(this.getId()) + RexsterTokens.SLASH_OUTE + RexsterTokens.QUESTION + RexsterTokens._LABEL_EQUALS + RestHelper.encode(filter), this.graph)); } return new MultiIterable<Edge>(edges); } }
return new MultiIterable<Edge>(edges); } else { // restricted to a type
return new MultiIterable<Vertex>(vertices); } else { // restricted to a type