public Iterable<JanusGraphEdge> getEdges(final TypeDefinitionCategory def, final Direction dir, JanusGraphSchemaVertex other) { JanusGraphVertexQuery query = query().type(BaseLabel.SchemaDefinitionEdge).direction(dir); if (other!=null) query.adjacent(other); return Iterables.filter(query.edges(), (Predicate<JanusGraphEdge>) edge -> { final TypeDefinitionDescription desc = edge.valueOrNull(BaseKey.SchemaDefinitionDesc); return desc.getCategory()==def; }); }
assertEquals(1, v.query().labels("connect").direction(OUT).adjacent(vs[6]).has("time", 6).edgeCount()); assertEquals(1, v.query().labels("knows").direction(OUT).adjacent(vs[11]).edgeCount()); assertEquals(1, v.query().labels("knows").direction(IN).adjacent(vs[11]).edgeCount()); assertEquals(2, v.query().labels("knows").direction(BOTH).adjacent(vs[11]).edgeCount()); assertEquals(1, v.query().labels("knows").direction(OUT).adjacent(vs[11]).has("weight", 3.5).edgeCount()); assertEquals(2, v.query().labels("connect").adjacent(vs[6]).has("time", 6).edgeCount()); assertEquals(0, v.query().labels("connect").adjacent(vs[8]).has("time", 8).edgeCount()); assertEquals(1, v.query().labels("connect").direction(OUT).adjacent(vs[6]).has("time", 6).edgeCount()); assertEquals(1, v.query().labels("knows").direction(OUT).adjacent(vs[11]).edgeCount()); assertEquals(1, v.query().labels("knows").direction(IN).adjacent(vs[11]).edgeCount()); assertEquals(2, v.query().labels("knows").direction(BOTH).adjacent(vs[11]).edgeCount()); assertEquals(1, v.query().labels("knows").direction(OUT).adjacent(vs[11]).has("weight", 3.5).edgeCount()); assertEquals(2, v.query().labels("connect").adjacent(vs[6]).has("time", 6).edgeCount()); assertEquals(0, v.query().labels("connect").adjacent(vs[8]).has("time", 8).edgeCount());
evaluateQuery(v.query().labels("connect").direction(OUT).has("time", Cmp.EQUAL, 22).orderBy("weight", incr), EDGE, 1, 1, new boolean[]{true, false}, weight, Order.ASC); evaluateQuery(v.query().labels("connect").direction(OUT).adjacent(u), EDGE, 1, 1, new boolean[]{true, true}); evaluateQuery(v.query().labels("connect").direction(OUT).has("weight", Cmp.EQUAL, 0.0).adjacent(u), EDGE, 1, 1, new boolean[]{true, true}); evaluateQuery(v.query().labels("connect").direction(OUT).interval("weight", 0.0, 1.0).adjacent(u), EDGE, 1, 1, new boolean[]{false, true}); evaluateQuery(v.query().labels("connect").direction(OUT).interval("time", 50, 100).adjacent(u), EDGE, 1, 1, new boolean[]{false, true}); evaluateQuery(v.query().labels("connect").direction(OUT).has("time", Cmp.EQUAL, 22).orderBy("weight", incr), EDGE, 1, 1, new boolean[]{true, false}, weight, Order.ASC); evaluateQuery(v.query().labels("connect").direction(OUT).adjacent(u), EDGE, 1, 1, new boolean[]{true, true}); evaluateQuery(v.query().labels("connect").direction(OUT).has("weight", Cmp.EQUAL, 0.0).adjacent(u), EDGE, 1, 1, new boolean[]{true, true}); evaluateQuery(v.query().labels("connect").direction(OUT).interval("weight", 0.0, 1.0).adjacent(u), EDGE, 1, 1, new boolean[]{false, true}); evaluateQuery(v.query().labels("connect").direction(OUT).interval("time", 50, 100).adjacent(u), EDGE, 1, 1, new boolean[]{false, true});