我试图找到最短路径以及路径上节点的关系,为此使用了下面的查询。
MATCH p = shortestPath((p1:Person { name: 'Kevin Bacon' })-[*..15]-
(p2:Person { name: 'Meg Ryan' }))
UNWIND nodes(p) as n
MATCH (n)-[*]->(q)
RETURN n, q
然而,我想返回的结果作为json对象与数据格式如下在c#。我知道我们必须使用apoc。但不能真正理解如何进行。
{
"results": [
{
"data": [
{
"graph": {
"nodes": [
{
"id": "1",
"labels": ["James"],
"properties": {
"ShortName": "jammy",
"Type": "Person",
"Age": 34
}
},
{
"id": "2",
"labels": ["Brad"],
"properties": {
"name": "Brad",
"PlaceOfBirth": "California",
"Type": "Person",
"description": "Nice actor",
}
},
{
"id": "3",
"labels": ["Titanic"],
"properties": {
"movieName": "Titanic",
"Type": "Movie",
"description": "Tragedy",
}
}
],
"relationships": [
{
"id": "4",
"type": "ACTED_IN",
"startNode": "1",
"endNode": "3",
"properties": {
"from": 1470002400000
}
}
]
}
}
]
}
],
"errors": []
}
2条答案
按热度按时间hgtggwj01#
您可以分别收集节点和关系并将其添加到结果中。
628mspwn2#
我想要路径上所有节点的第一层传入和传出关系。Slighty修改了答案,以供将来寻找类似内容的人使用。谢谢Jose。