[ 
https://issues.apache.org/jira/browse/TINKERPOP-1817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stephen mallette updated TINKERPOP-1817:
----------------------------------------
    Issue Type: Improvement  (was: Bug)

My understanding here is that we never really intended to support labels here 
so this really isn't a "bug" - reclassified this issue to an "enhancement".

> OLAP loses vertex labels
> ------------------------
>
>                 Key: TINKERPOP-1817
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1817
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.3.0, 3.2.6
>            Reporter: Daniel Kuppitz
>            Priority: Major
>
> 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
(v7.6.3#76005)

Reply via email to