/** * @see GraphTraversal#V(Object...) */ public static <A> GraphTraversal<A, Vertex> V(final Object... vertexIdsOrElements) { return __.<A>start().V(vertexIdsOrElements); }
@Override public Traversal<Vertex, String> get_g_VX1X_V_valuesXnameX(final Object v1Id) { return g.V(v1Id).V().values("name"); }
@Override public Traversal<Vertex, String> get_g_V_outXknowsX_V_name() { return g.V().out("knows").V().values("name"); }
@Override public Traversal<Vertex, String> get_g_V_hasLabelXpersonX_V_hasLabelXsoftwareX_name() { return g.V().hasLabel("person").V().hasLabel("software").values("name"); }
@Override public Traversal<Vertex, Edge> get_g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX() { final List<Vertex> software = g.V().hasLabel("software").toList(); return g.V().hasLabel("person").as("p").V(software).addE("uses").from("p"); } }
@Benchmark public Edge testAddE() { return g.V(a).as("a").V(b).as("b").addE("knows").from("a").to("b").next(); }
@Override public Traversal<Vertex, String> get_g_V_hasXname_GarciaX_inXsungByX_asXsongX_V_hasXname_Willie_DixonX_inXwrittenByX_whereXeqXsongXX_name() { return g.V().has("artist", "name", "Garcia").in("sungBy").as("song") .V().has("artist", "name", "Willie_Dixon").in("writtenBy").where(P.eq("song")).values("name"); }
/** * @see GraphTraversal#V(Object...) */ public static <A> GraphTraversal<A, Vertex> V(final Object... vertexIdsOrElements) { return __.<A>start().V(vertexIdsOrElements); }
@Override public Traversal<Vertex, Map<String, Map<String, Map<String, Object>>>> getCoworkerSummaryOLTP() { return g.V().hasLabel("person").filter(outE("created")).as("p1") .V().hasLabel("person").where(neq("p1")).filter(outE("created")).as("p2") .map(out("created").where(in("created").as("p1")).values("name").fold()) .<String, Map<String, Map<String, Object>>>group().by(select("p1").by("name")). by(group().by(select("p2").by("name")). by(project("numCoCreated", "coCreated").by(count(local)).by())); }
@Override public Traversal<Vertex, String> get_g_VX1X_V_valuesXnameX(final Object v1Id) { return g.V(v1Id).V().values("name"); }
@Override public Traversal<Vertex, String> get_g_V_outXknowsX_V_name() { return g.V().out("knows").V().values("name"); }
@Override public Traversal<Vertex, String> get_g_V_hasLabelXpersonX_V_hasLabelXsoftwareX_name() { return g.V().hasLabel("person").V().hasLabel("software").values("name"); }
@Override public Traversal<Vertex, Edge> get_g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX() { final List<Vertex> software = g.V().hasLabel("software").toList(); return g.V().hasLabel("person").as("p").V(software).addE("uses").from("p"); } }
@Override public GremlinSteps<GraphTraversal, P> V() { if (isStartedOrSubTraversal()) { g.V(); } else { // Workaround for constructing `GraphStep` with `isStart == true` g.asAdmin().getBytecode().addStep(Symbols.V); g.asAdmin().addStep(new GraphStep<>(g.asAdmin(), Vertex.class, true)); } return this; }
@Override public Traversal<Vertex, String> get_g_V_hasXname_GarciaX_inXsungByX_asXsongX_V_hasXname_Willie_DixonX_inXwrittenByX_whereXeqXsongXX_name() { return g.V().has("artist", "name", "Garcia").in("sungBy").as("song") .V().has("artist", "name", "Willie_Dixon").in("writtenBy").where(P.eq("song")).values("name"); }
public void identifyRoot() { // We need a root label and a metadata label in order to perform this normalization if (!options().rootLabel().isPresent() || !options().metadataLabel().isPresent()) { return; } GraphTraversalSource g = traversal(); // Drop any existing root edges g.E().hasLabel(options().rootLabel().get()).drop().iterate(); // Get the identifier (technically there should only be one) of the metadata vertex Object[] metadataId = g.V().hasLabel(options().metadataLabel().get()).id().toList().toArray(); // Recreate root edges between the root vertices and metadata vertices g.V().hasLabel(within(ExtraStreams.stream(Bdio.Class.class).filter(Bdio.Class::root).collect(enumNames()))) .where(inE(Bdio.ObjectProperty.subproject.name(), Bdio.ObjectProperty.previousVersion.name()).count().is(0)) .as("root") .V(metadataId).addE(options().rootLabel().get()).to("root") .iterate(); }
static <S> GraphTraversal<S, Vertex> traverseSchemaConceptFromEdge( GraphTraversal<S, Edge> traversal, Schema.EdgeProperty edgeProperty) { // Access label ID from edge Var labelId = Graql.var(); traversal.values(edgeProperty.name()).as(labelId.name()); // Look up schema concept using ID return traversal.V().has(LABEL_ID.name(), __.where(P.eq(labelId.name()))); }
public void addMissingProjectDependencies() { // We need a root label in order to perform this normalization if (!options().rootLabel().isPresent()) { return; } GraphTraversalSource g = traversal(); // Create edges from the un-connected components to the root object g.E().hasLabel(options().rootLabel().get()) .inV().as("roots") .V().hasLabel(Bdio.Class.Component.name()) .not(inE(Bdio.ObjectProperty.dependsOn.name())) .as("directDependencies") .addV(Bdio.Class.Dependency.name()) .addE(Bdio.ObjectProperty.dependsOn.name()).to("directDependencies") .outV() .addE(Bdio.ObjectProperty.dependency.name()).from("roots") .iterate(); }
traversal.V(sourceId).as(SOURCE).V(targetId).as(TARGET);
@Override public Traversal<Vertex, Map<String, Map<String, Map<String, Object>>>> getCoworkerSummaryOLTP() { return g.V().hasLabel("person").filter(outE("created")).as("p1") .V().hasLabel("person").where(neq("p1")).filter(outE("created")).as("p2") .map(out("created").where(in("created").as("p1")).values("name").fold()) .<String, Map<String, Map<String, Object>>>group().by(select("p1").by("name")). by(group().by(select("p2").by("name")). by(project("numCoCreated", "coCreated").by(count(local)).by())); }