### Question:
GraphApi { public Graph getEdges(RelationshipType type, boolean entail, long skip, long limit) { String query = "MATCH path = (start)-[r:" + type.name() + (entail ? "!" : "") + "]->(end) " + " RETURN path " + " SKIP " + skip + " LIMIT " + limit; Graph graph = new TinkerGraph(); TinkerGraphUtil tgu = new TinkerGraphUtil(graph, curieUtil); Result result; try { result = cypherUtil.execute(query); while (result.hasNext()) { Map<String, Object> map = result.next(); Path path = (Path) map.get("path"); tgu.addPath(path); } } catch (ArrayIndexOutOfBoundsException e) { } return graph; } @Inject  GraphApi(GraphDatabaseService graphDb, CypherUtil cypherUtil, CurieUtil curieUtil); Collection<Node> getEntailment(Node parent, DirectedRelationshipType relationship,
      boolean traverseEquivalentEdges); @AddCuries Graph getNeighbors(Set<Node> nodes, int depth, Set<DirectedRelationshipType> types,
      final Optional<Predicate<Node>> includeNode); Graph getEdges(RelationshipType type, boolean entail, long skip, long limit); Optional<Node> getNode(String id, Optional<String> lblHint); Graph getReachableNodes(Node start, List<String> rels, Set<String> lbls); Collection<RelationshipType> getAllRelationshipTypes(); Collection<String> getAllPropertyKeys();  }### Answer:
@Test public void edges_areReturned() { Graph graph = graphApi.getEdges(OwlRelationships.RDFS_SUBCLASS_OF, false, 0L, 1L); assertThat(size(graph.getVertices()), is(2)); assertThat(size(graph.getEdges()), is(1)); }
@Test public void edges_queryIsEntailed() { Graph graph = graphApi.getEdges(OwlRelationships.RDFS_SUBCLASS_OF, true, 0L, 1L); assertThat(size(graph.getVertices()), is(2)); assertThat(size(graph.getEdges()), is(1)); }
@Test @Ignore public void edges_areSkipped() { Graph graph = graphApi.getEdges(OwlRelationships.RDFS_SUBCLASS_OF, false, Long.MAX_VALUE, 1L); assertThat(size(graph.getVertices()), is(0)); assertThat(size(graph.getEdges()), is(0)); }