Hi,
I was just running this SparkGraphComputer query.
g.V().match(
as('a').out('sungBy').as('b'),
as('a').out('writtenBy').as('b')).
select('a','b').by('name')
And, of course, you get the familiar "path/stargraph" exception:
The following path processor step requires more than the element id:
SelectStep([a, b],[value(name)]) requires PROPERTIES
In my head, I go "yea yea…" and rewrite it as:
g.V().match(
__.as('a').out('sungBy').as('b'),
__.as('a').out('writtenBy').as('b'),
__.as('a').values('name').as('c'),
__.as('b').values('name').as('d')).
select('c','d')
Then I was like -- "wait a holy hell ball! --- can we just rewrite all
stargraph/path-projection problems in terms of match()?"
Remember, match() uses global traversals, however it does require (labeled)
path calculations (TraverserRequirement.LABELED_PATH).
So………………………………………………………………………………..
Marko.
http://markorodriguez.com