gremlin> city.as("city").out("showing").as("movie").in("in").as("genre").out("in").retain("movie").in("acted").as("star").table().cap().next()==>[city:v[city #1], movie:v[movie #2], genre:v[genre #1], star:v[star #6]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #1], star:v[star #5]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #1], star:v[star #4]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #1], star:v[star #1]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #1], star:v[star #3]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #1], star:v[star #2]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #3], star:v[star #6]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #3], star:v[star #5]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #3], star:v[star #4]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #3], star:v[star #1]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #3], star:v[star #3]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #3], star:v[star #2]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #2], star:v[star #6]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #2], star:v[star #5]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #2], star:v[star #4]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #2], star:v[star #1]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #2], star:v[star #3]]==>[city:v[city #1], movie:v[movie #2], genre:v[genre #2], star:v[star #2]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #1], star:v[star #2]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #1], star:v[star #6]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #1], star:v[star #5]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #1], star:v[star #1]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #1], star:v[star #4]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #1], star:v[star #3]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #3], star:v[star #2]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #3], star:v[star #6]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #3], star:v[star #5]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #3], star:v[star #1]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #3], star:v[star #4]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #3], star:v[star #3]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #2], star:v[star #2]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #2], star:v[star #6]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #2], star:v[star #5]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #2], star:v[star #1]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #2], star:v[star #4]]==>[city:v[city #1], movie:v[movie #1], genre:v[genre #2], star:v[star #3]]
g = new TinkerGraph()city = g.addVertex('city #1')movie1 = g.addVertex('movie #1')movie2 = g.addVertex('movie #2')genre1 = g.addVertex('genre #1')genre2 = g.addVertex('genre #2')genre3 = g.addVertex('genre #3')star1 = g.addVertex('star #1')star2 = g.addVertex('star #2')star3 = g.addVertex('star #3')star4 = g.addVertex('star #4')star5 = g.addVertex('star #5')star6 = g.addVertex('star #6')city.addEdge("showing", movie1)city.addEdge("showing", movie2)genre1.addEdge("in", movie1)genre1.addEdge("in", movie2)genre2.addEdge("in", movie1)genre2.addEdge("in", movie2)genre3.addEdge("in", movie1)genre3.addEdge("in", movie2)star1.addEdge("acted", movie1)star1.addEdge("acted", movie2)star2.addEdge("acted", movie1)star2.addEdge("acted", movie2)star3.addEdge("acted", movie1)star3.addEdge("acted", movie2)star4.addEdge("acted", movie1)star4.addEdge("acted", movie2)star5.addEdge("acted", movie1)star5.addEdge("acted", movie2)star6.addEdge("acted", movie1)star6.addEdge("acted", movie2)
--
You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-user...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
city.as("city").out("showing").transform({ movie,m ->movie.in("in").transform({ genre ->movie.in("acted").transform({ star ->[ "city" : m.city, "movie" : movie, "genre" : genre, "star" : star ]})}).scatter()}).scatter()
final PipesFunction<Vertex, List<Map<String, Object>>> transformer;transformer = new PipesFunction<Vertex, List<Map<String, Object>>>() {@Overridepublic final List<Map<String, Object>> compute(final Vertex movie) {final List<Map<String, Object>> result = new ArrayList<>();final Vertex city = (Vertex)this.asMap.get("city");final Iterable<Vertex> genres = movie.query().direction(Direction.IN).labels("in").vertices();final Iterable<Vertex> stars = movie.query().direction(Direction.IN).labels("acted").vertices();for (final Vertex genre : genres) {for (final Vertex star : stars) {result.add(new HashMap<String, Object>() {{put("city", city);put("movie", movie);put("genre", genre);put("star", star);}});}}return result;}};final GremlinPipeline pipe = new GremlinPipeline(city).as("city").out("showing").transform(transformer).scatter();for (Object row : pipe) {System.out.println(row);}
{genre=v[genre #1], star=v[star #6], movie=v[movie #2], city=v[city #1]}{genre=v[genre #1], star=v[star #5], movie=v[movie #2], city=v[city #1]}{genre=v[genre #1], star=v[star #4], movie=v[movie #2], city=v[city #1]}{genre=v[genre #1], star=v[star #1], movie=v[movie #2], city=v[city #1]}{genre=v[genre #1], star=v[star #3], movie=v[movie #2], city=v[city #1]}{genre=v[genre #1], star=v[star #2], movie=v[movie #2], city=v[city #1]}{genre=v[genre #3], star=v[star #6], movie=v[movie #2], city=v[city #1]}{genre=v[genre #3], star=v[star #5], movie=v[movie #2], city=v[city #1]}{genre=v[genre #3], star=v[star #4], movie=v[movie #2], city=v[city #1]}{genre=v[genre #3], star=v[star #1], movie=v[movie #2], city=v[city #1]}{genre=v[genre #3], star=v[star #3], movie=v[movie #2], city=v[city #1]}{genre=v[genre #3], star=v[star #2], movie=v[movie #2], city=v[city #1]}{genre=v[genre #2], star=v[star #6], movie=v[movie #2], city=v[city #1]}{genre=v[genre #2], star=v[star #5], movie=v[movie #2], city=v[city #1]}{genre=v[genre #2], star=v[star #4], movie=v[movie #2], city=v[city #1]}{genre=v[genre #2], star=v[star #1], movie=v[movie #2], city=v[city #1]}{genre=v[genre #2], star=v[star #3], movie=v[movie #2], city=v[city #1]}{genre=v[genre #2], star=v[star #2], movie=v[movie #2], city=v[city #1]}{genre=v[genre #1], star=v[star #2], movie=v[movie #1], city=v[city #1]}{genre=v[genre #1], star=v[star #6], movie=v[movie #1], city=v[city #1]}{genre=v[genre #1], star=v[star #5], movie=v[movie #1], city=v[city #1]}{genre=v[genre #1], star=v[star #1], movie=v[movie #1], city=v[city #1]}{genre=v[genre #1], star=v[star #4], movie=v[movie #1], city=v[city #1]}{genre=v[genre #1], star=v[star #3], movie=v[movie #1], city=v[city #1]}{genre=v[genre #3], star=v[star #2], movie=v[movie #1], city=v[city #1]}{genre=v[genre #3], star=v[star #6], movie=v[movie #1], city=v[city #1]}{genre=v[genre #3], star=v[star #5], movie=v[movie #1], city=v[city #1]}{genre=v[genre #3], star=v[star #1], movie=v[movie #1], city=v[city #1]}{genre=v[genre #3], star=v[star #4], movie=v[movie #1], city=v[city #1]}{genre=v[genre #3], star=v[star #3], movie=v[movie #1], city=v[city #1]}{genre=v[genre #2], star=v[star #2], movie=v[movie #1], city=v[city #1]}{genre=v[genre #2], star=v[star #6], movie=v[movie #1], city=v[city #1]}{genre=v[genre #2], star=v[star #5], movie=v[movie #1], city=v[city #1]}{genre=v[genre #2], star=v[star #1], movie=v[movie #1], city=v[city #1]}{genre=v[genre #2], star=v[star #4], movie=v[movie #1], city=v[city #1]}{genre=v[genre #2], star=v[star #3], movie=v[movie #1], city=v[city #1]}
pipeline.table(table, columnFunctions).toList();
final PipeFunction[] columnFunctions = new PipeFunction[] {new PipeFunction<Vertex, Object>() {@Overridepublic final Object compute(Vertex v) {final String id = (String)v.getId();final int hashIndex = id.indexOf('#');return id.substring(hashIndex);}},new PipeFunction<Vertex, Object>() {@Overridepublic final Object compute(Vertex v) {final String id = (String)v.getId();final int hashIndex = id.indexOf('#');return id.substring(hashIndex + 1);}},new PipeFunction<Vertex, Object>() {@Overridepublic final Object compute(Vertex v) {return v.getId();}},new PipeFunction<Vertex, Object>() {@Overridepublic final Object compute(Vertex v) {return ((String)v.getId()).toUpperCase();}}};final Table table = new Table();new GremlinPipeline(city).as("city").out("showing").as("movie").in("in").as("genre").transform(new PipesFunction<Vertex, Vertex>() {@Overridepublic final Vertex compute(final Vertex v) {return (Vertex)this.asMap.get("movie");}}).in("acted").as("star").table(table, columnFunctions).iterate();for (Object row : table) {System.out.println(row);}
[city:#1, movie:2, genre:genre #1, star:STAR #6][city:#1, movie:2, genre:genre #1, star:STAR #5][city:#1, movie:2, genre:genre #1, star:STAR #4][city:#1, movie:2, genre:genre #1, star:STAR #1][city:#1, movie:2, genre:genre #1, star:STAR #3][city:#1, movie:2, genre:genre #1, star:STAR #2][city:#1, movie:2, genre:genre #3, star:STAR #6][city:#1, movie:2, genre:genre #3, star:STAR #5][city:#1, movie:2, genre:genre #3, star:STAR #4][city:#1, movie:2, genre:genre #3, star:STAR #1][city:#1, movie:2, genre:genre #3, star:STAR #3][city:#1, movie:2, genre:genre #3, star:STAR #2][city:#1, movie:2, genre:genre #2, star:STAR #6][city:#1, movie:2, genre:genre #2, star:STAR #5][city:#1, movie:2, genre:genre #2, star:STAR #4][city:#1, movie:2, genre:genre #2, star:STAR #1][city:#1, movie:2, genre:genre #2, star:STAR #3][city:#1, movie:2, genre:genre #2, star:STAR #2][city:#1, movie:1, genre:genre #1, star:STAR #2][city:#1, movie:1, genre:genre #1, star:STAR #6][city:#1, movie:1, genre:genre #1, star:STAR #5][city:#1, movie:1, genre:genre #1, star:STAR #1][city:#1, movie:1, genre:genre #1, star:STAR #4][city:#1, movie:1, genre:genre #1, star:STAR #3][city:#1, movie:1, genre:genre #3, star:STAR #2][city:#1, movie:1, genre:genre #3, star:STAR #6][city:#1, movie:1, genre:genre #3, star:STAR #5][city:#1, movie:1, genre:genre #3, star:STAR #1][city:#1, movie:1, genre:genre #3, star:STAR #4][city:#1, movie:1, genre:genre #3, star:STAR #3][city:#1, movie:1, genre:genre #2, star:STAR #2][city:#1, movie:1, genre:genre #2, star:STAR #6][city:#1, movie:1, genre:genre #2, star:STAR #5][city:#1, movie:1, genre:genre #2, star:STAR #1][city:#1, movie:1, genre:genre #2, star:STAR #4][city:#1, movie:1, genre:genre #2, star:STAR #3]