Daniel Kuppitz created TINKERPOP-1817: -----------------------------------------
Summary: OLAP loses vertex labels Key: TINKERPOP-1817 URL: https://issues.apache.org/jira/browse/TINKERPOP-1817 Project: TinkerPop Issue Type: Bug Components: process Affects Versions: 3.2.6, 3.3.0 Reporter: Daniel Kuppitz Working on this SO question: https://stackoverflow.com/questions/46962237/how-to-perform-cross-join-on-different-vertices-in-gremlin-tinkerpop/46977603 ...I noticed that the connected components query randomly loses the vertex labels. *Init Graph:* {noformat} graph = TinkerGraph.open() g = graph.traversal() a = graph.addVertex(label, "person", "user", "A") b = graph.addVertex(label, "person", "user", "B") c = graph.addVertex(label, "person", "user", "C") d = graph.addVertex(label, "person", "user", "D") one = graph.addVertex('rec_id') one.property('ids', '1') two = graph.addVertex('rec_id') two.property('ids', '2') three = graph.addVertex('rec_id') three.property('ids', '3') four = graph.addVertex('rec_id') four.property('ids', '4') five = graph.addVertex('rec_id') five.property('ids', '5') a.addEdge('part_of',one) a.addEdge('part_of',two) b.addEdge('part_of', three) b.addEdge('part_of',four) c.addEdge('part_of',five) d.addEdge('part_of',four) d.addEdge('part_of',two) g = graph.traversal().withComputer() {noformat} *Query:* {noformat} g.V(). emit(cyclicPath().or().not(both())). repeat(both()). until(cyclicPath()). aggregate("p").by(path()).cap("p"). unfold().limit(local, 1).dedup(). map(__.as("v").select("p").unfold(). filter(unfold().where(eq("v"))). unfold().dedup().order().by(id).fold()).dedup(). project("Users","associated_ids"). by(unfold().label().fold()). by(unfold().label().fold()) {noformat} *Sample Output:* {noformat} gremlin> g.V(). ......1> emit(cyclicPath().or().not(both())). ......2> repeat(both()). ......3> until(cyclicPath()). ......4> aggregate("p").by(path()).cap("p"). ......5> unfold().limit(local, 1).dedup(). ......6> map(__.as("v").select("p").unfold(). ......7> filter(unfold().where(eq("v"))). ......8> unfold().dedup().order().by(id).fold()).dedup(). ......9> project("Users","associated_ids"). .....10> by(unfold().label()./*hasLabel("person").*/fold()). .....11> by(unfold().label()./*hasLabel("rec_id").*/fold()) ==>[Users:[person,person,person,vertex,vertex,vertex,vertex],associated_ids:[person,person,person,vertex,vertex,vertex,vertex]] ==>[Users:[vertex,rec_id],associated_ids:[vertex,rec_id]] gremlin> g = graph.traversal().withComputer() ==>graphtraversalsource[tinkergraph[vertices:9 edges:7], graphcomputer] gremlin> g.V(). ......1> emit(cyclicPath().or().not(both())). ......2> repeat(both()). ......3> until(cyclicPath()). ......4> aggregate("p").by(path()).cap("p"). ......5> unfold().limit(local, 1).dedup(). ......6> map(__.as("v").select("p").unfold(). ......7> filter(unfold().where(eq("v"))). ......8> unfold().dedup().order().by(id).fold()).dedup(). ......9> project("Users","associated_ids"). .....10> by(unfold().label()./*hasLabel("person").*/fold()). .....11> by(unfold().label()./*hasLabel("rec_id").*/fold()) ==>[Users:[person,person,person,rec_id,vertex,vertex,vertex],associated_ids:[person,person,person,rec_id,vertex,vertex,vertex]] ==>[Users:[vertex,rec_id],associated_ids:[vertex,rec_id]] {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)