/** * @see GraphTraversal#label() */ public static <A extends Element> GraphTraversal<A, String> label() { return __.<A>start().label(); }
@Override public Traversal<Vertex, String> get_g_VX1X_optionalXaddVXdogXX_label(final Object v1Id) { return g.V(v1Id).optional(addV("dog")).label(); } }
@Override public Traversal<Vertex, Integer> get_g_VX1X_outE_label_mapXlengthX(final Object v1Id) { return g.V(v1Id).outE().label().map(l -> l.get().length()); }
@Benchmark public List<Map<Object, Long>> g_V_label_groupCount() throws Exception { return g.V().label().groupCount().toList(); }
@Override public Traversal<Vertex, Map<String, Long>> get_g_V_label_groupCount_asXxX_selectXxX() { return g.V().label().groupCount().as("x").select("x"); }
@Override public Traversal<Vertex, String> get_g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label() { return g.addV(V().has("name", "marko").properties("name").key()).label(); }
@Override public Traversal<Vertex, Map<Object, Object>> get_g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX() { return g.V().as("a").has("name", "marko").out("created").as("b").addV(select("a").label()).property("test", select("b").label()).valueMap().with(WithOptions.tokens); } }
@Override public Traversal<Vertex, Map<String, List<Object>>> get_g_withSideEffectXa__marko_666_noone_blahX_V_groupXaX_byXnameX_byXoutE_label_foldX_capXaX(final Map<String, List<Object>> m) { return g.withSideEffect("a", m).V().group("a").by("name").by(outE().label().fold()).cap("a"); }
@Override public Traversal<Vertex, Map<String, Object>> get_g_V_hasLabelXpersonX_asXpX_mapXbothE_label_groupCountX_asXrX_selectXp_rX() { return g.V().hasLabel("person").as("p").map(__.bothE().label().groupCount()).as("r").select("p", "r"); }
@Override public Traversal<Vertex, Edge> get_g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX() { return g.V().has("name", "marko").as("a").outE("created").as("b").inV().addE(select("b").label()).to("a"); }
@Override public Traversal<Vertex, String> get_g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX() { return g.V().choose(label().is("person"), union(out().values("lang"), out().values("name")), in().label()); }
@Override public Traversal<Vertex, Map<String, Long>> get_g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX_groupCount() { return (Traversal) g.V().choose(label().is("person"), union(out().values("lang"), out().values("name")), in().label()).groupCount(); }
.program(TraversalVertexProgram.build().traversal(g.V().groupCount("m").by(__.values(PageRankVertexProgram.PAGE_RANK).count()).label().asAdmin()).create(graph2)).persist(GraphComputer.Persist.EDGES).result(GraphComputer.ResultGraph.NEW).submit().get(); final Graph graph3 = result3.graph(); final Memory memory3 = result3.memory();
@Override public Traversal<Vertex, Map<String, Long>> get_g_V_unionXrepeatXunionXoutXcreatedX__inXcreatedXX_timesX2X__repeatXunionXinXcreatedX__outXcreatedXX_timesX2XX_label_groupCount() { return (Traversal) g.V().union( repeat(union( out("created"), in("created"))).times(2), repeat(union( in("created"), out("created"))).times(2)).label().groupCount(); }
@Override public Traversal<Edge, Edge> get_g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX() { return g.addE(V().outE().label().groupCount().order(local).by(values, desc).select(keys).<String>unfold().limit(1)).from(V().has("name", "vadas")).to(V().has("name", "lop")); } }
@Test @LoadGraphWith(MODERN) @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES) public void g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X() { final Traversal<Vertex, Edge> traversal = get_g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X(); printTraversalForm(traversal); int count = 0; while (traversal.hasNext()) { final Edge edge = traversal.next(); assertEquals("codeveloper", edge.label()); assertEquals(2009, g.E(edge).values("year").next()); assertEquals(1, g.E(edge).properties().count().next().intValue()); assertEquals("person", g.E(edge).inV().label().next()); assertEquals("person", g.E(edge).outV().label().next()); assertFalse(g.E(edge).inV().values("name").next().equals("vadas")); assertFalse(g.E(edge).outV().values("name").next().equals("vadas")); assertFalse(g.E(edge).inV().next().equals(g.E(edge).outV().next())); count++; } assertEquals(6, count); assertEquals(12, IteratorUtils.count(g.E())); assertEquals(6, IteratorUtils.count(g.V())); }
@Test @LoadGraphWith(MODERN) @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_ADD_VERTICES) @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_ADD_EDGES) @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS) @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS) public void g_V_withSideEffectXsgX_outEXknowsX_subgraphXsgX_name_capXsgX() throws Exception { final Configuration config = graphProvider.newGraphConfiguration("subgraph", this.getClass(), name.getMethodName(), MODERN); graphProvider.clear(config); Graph subgraph = graphProvider.openTestGraph(config); ///// final Traversal<Vertex, Graph> traversal = get_g_V_withSideEffectXsgX_outEXknowsX_subgraphXsgX_name_capXsgX(convertToVertexId("marko"), subgraph); printTraversalForm(traversal); subgraph = traversal.next(); assertVertexEdgeCounts(subgraph, 3, 2); subgraph.edges().forEachRemaining(e -> { assertEquals("knows", e.label()); assertEquals("marko", g.E(e).outV().values("name").next()); assertEquals(new Integer(29), g.E(e).outV().<Integer>values("age").next()); assertEquals("person", g.E(e).outV().label().next()); final String name = g.E(e).inV().<String>values("name").next(); if (name.equals("vadas")) assertEquals(0.5d, g.E(e).<Double>values("weight").next(), 0.0001d); else if (name.equals("josh")) assertEquals(1.0d, g.E(e).<Double>values("weight").next(), 0.0001d); else fail("There's a vertex present that should not be in the subgraph"); }); graphProvider.clear(subgraph, config); }
@Test @LoadGraphWith(MODERN) @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES) public void g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX() { final Traversal<Vertex, Edge> traversal = get_g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX(); printTraversalForm(traversal); int count = 0; while (traversal.hasNext()) { final Edge edge = traversal.next(); assertEquals("createdBy", edge.label()); assertEquals(2009, g.E(edge).values("year").next()); assertEquals("public", g.E(edge).values("acl").next()); assertEquals(2, g.E(edge).properties().count().next().intValue()); assertEquals("person", g.E(edge).inV().label().next()); assertEquals("software", g.E(edge).outV().label().next()); if (g.E(edge).outV().values("name").next().equals("ripple")) assertEquals("josh", g.E(edge).inV().values("name").next()); count++; } assertEquals(4, count); assertEquals(10, IteratorUtils.count(g.E())); assertEquals(6, IteratorUtils.count(g.V())); }
private static GraphTraversal<?, ?> matchProperty(final GraphTraversal<?, ?> traversal, final String propertyName, final PropertyType type, final Node object) { switch (propertyName) { case "id": return object.isConcrete() ? traversal.hasId(object.getLiteralValue()) : traversal.id().as(object.getName()); case "label": return object.isConcrete() ? traversal.hasLabel(object.getLiteralValue().toString()) : traversal.label().as(object.getName()); case "key": return object.isConcrete() ? traversal.hasKey(object.getLiteralValue().toString()) : traversal.key().as(object.getName()); case "value": return object.isConcrete() ? traversal.hasValue(object.getLiteralValue().toString()) : traversal.value().as(object.getName()); default: if (type.equals(PropertyType.PROPERTY)) { return traversal.properties(propertyName).as(object.getName()); } else { return object.isConcrete() ? traversal.values(propertyName).is(object.getLiteralValue()) : traversal.values(propertyName).as(object.getName()); } } } }
@Override public Traversal<Vertex, String> get_g_VX1X_optionalXaddVXdogXX_label(final Object v1Id) { return g.V(v1Id).optional(addV("dog")).label(); } }