Hello! I'm very new to Neo4j, and this might be a very simple question.
However: I'm currently working on a project where I need a query that returns properties from both nodes and relationships in a path.
What I currently have:
MATCH (p1:Node { UniversalId: '00000000-0c00-090e-0001-060f0e030f0b' })
MATCH (p2:Node { UniversalId: '00000000-0c00-090e-0001-0700000a0c06' })
CALL apoc.algo.dijkstra(p1, p2, 'AVSTAND>', 'cost_algo') YIELD path, weight
return path
Which yields me the following graph: (6 nodes, 5 relationships)
I would like a way to return properties from both of the nodes between a relationship, as well as from the relationship.
Example:
ββββββββββββββββββ€βββββββββββββββββ€ββββββββββ€βββββββββββ
β"a.name".................................β"b.name" .............................. β"rel.dir".............β"rel.cost"..............β
ββββββββββββββββββͺβββββββββββββββββͺββββββββββͺβββββββββββ‘
β"name1".................................β "bname1"............................. β"right" ...............β"1" ........................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"name2" ................................β"bname2"...............................β"left"..................β "10".....................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"name3" ............................... β"bname3"...............................β"right"...............β"100".....................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"name4" ............................... β"bname4"...............................β"left"..................β"100".....................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"name5" ............................... β"bname5"...............................β"left"..................β"100".....................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
I have tried the following which almost gives me what I want, but it also returns
MATCH (p1:Node { UniversalId: '00000000-0c00-090e-0001-060f0e030f0b' })
MATCH (p2:Node { UniversalId: '00000000-0c00-090e-0001-0700000a0c06' })
CALL apoc.algo.dijkstra(p1, p2, 'AVSTAND>', 'cost_algo') YIELD path, weight
unwind relationships(path) as rel
match (a)-[rel]-(b)
return a.name,b.name,rel.dir, rel.cost
This however yields me some extra rows which are other relationships between the nodes a and b which isn't in the path given by the dijkstra algorithm.
Res: (Got 10 rows back, expected 5 because there is 5 relationships in the path)
ββββββββββββββββββ€βββββββββββββββββ€ββββββββββ€βββββββββββ
β"a.name".................................β"b.name"................................β"rel.dir"..............β"rel.cost"..............β
ββββββββββββββββββͺβββββββββββββββββͺββββββββββͺβββββββββββ‘
β"Hemberget Test"................β"Astrakan Test" ..................β"right" ..............β"1" .........................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"Astrakan Test" ...................β"Hemberget Test"...............β"right" ..............β"1"..........................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"Astrakan Test"....................β"Astrakan Test"....................β"right" ..............β"1"..........................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"Astrakan Test"....................β"Astrakan Test"....................β"right" ..............β"1"..........................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"Astrakan Test"....................β"Astrakan Test"....................β"right" ..............β"1.1"......................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"Astrakan Test"....................β"Astrakan Test"....................β"right" ..............β"1.1"......................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"Astrakan Test"....................β"Astrakan Test"....................β"right" ..............β"1"..........................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"Astrakan Test"....................β"Astrakan Test"....................β"right" ..............β"1"..........................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"Astrakan Test"....................β"Astrakan Test"....................β"right" ..............β"1"..........................β
ββββββββββββββββββΌβββββββββββββββββΌββββββββββΌβββββββββββ€
β"Astrakan Test"....................β"Astrakan Test"....................β"right" ..............β"1"..........................β
ββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββ΄βββββββββββ
I hope I made myself understandable, thank you in advanced! ![]()
