Skip to content

Instantly share code, notes, and snippets.

@spmallette
Last active July 27, 2021 10:24
Show Gist options
  • Save spmallette/1f9115060df26e01af2ffbc7ab361a80 to your computer and use it in GitHub Desktop.
Save spmallette/1f9115060df26e01af2ffbc7ab361a80 to your computer and use it in GitHub Desktop.
gremlin> g = TinkerGraph.open().traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> objects = [[name: "marko"], [name:"marko"]]
==>[name:marko]
==>[name:marko]
gremlin> g.inject(objects).
......1> unfold().as('m').
......2> coalesce(V().hasLabel("person").as('p').where('m',eq('p')).by('name'),
......3> addV("person").property("name", __.select("name"))).iterate()
gremlin> g.V()
==>v[0]
gremlin> g = TinkerGraph.open().traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> objects = [[name: "marko"], [name:"marko"]]
==>[name:marko]
==>[name:marko]
gremlin> g.withSideEffect('o',objects).
......1> V().has('person','name',within(objects.collect{it.name})).aggregate('exists').
......2> fold().
......3> select('o').unfold().as('m').
......4> coalesce(select('exists').unfold().as('p').where('m',eq('p')).by('name'),
......5> addV("person").property("name", __.select("name")).aggregate('exists')).iterate()
gremlin> g.V()
==>v[0]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment