Test 1: TinkerPop Modern
Query:
g.V().hasLabel("person").as("from")
.repeat(both().as("to").dedup("from", "to"))
.emit(hasLabel("software"))
.hasLabel("software")
.project("p","data")
.by(path())
.by(select(last, "from", "to").by("name"))
Executed in 0.20145893096923828 seconds
{'data': {'from': 'marko', 'to': 'lop'}, 'p': [v[1], v[3]]}
{'data': {'from': 'marko', 'to': 'ripple'}, 'p': [v[1], v[4], v[5]]}
{'data': {'from': 'vadas', 'to': 'lop'}, 'p': [v[2], v[1], v[3]]}
{'data': {'from': 'vadas', 'to': 'ripple'}, 'p': [v[2], v[1], v[4], v[5]]}
{'data': {'from': 'josh', 'to': 'ripple'}, 'p': [v[4], v[5]]}
{'data': {'from': 'josh', 'to': 'lop'}, 'p': [v[4], v[3]]}
{'data': {'from': 'peter', 'to': 'lop'}, 'p': [v[6], v[3]]}
{'data': {'from': 'peter', 'to': 'ripple'}, 'p': [v[6], v[3], v[4], v[5]]}
Test 2: data/grateful-dead.xml sample data
Query:
g.V().hasLabel("song").as("from")
.repeat(both().as("to").dedup("from", "to"))
.emit(hasLabel("artist"))
.hasLabel("artist")
.project("p","data")
.by(path())
.by(select(last, "from", "to").by("name"))
TAKES FOR EVER TO RUN! :(, How can I improve my query time, any mistakes that I am doing?