У меня проблема с моим шифровальным запросом.
Объяснение ситуации: пользователь может подключаться к другим узлам CONTACT, но он также может подключаться к узлам СОБЫТИЯ. Другие пользователи также могут подключаться к этим узлам событий. Мы ожидаем получить узлы, к которым мы подключены (КОНТАКТЫ И СОБЫТИЯ), но нам также необходимо получить узлы событий узлов КОНТАКТ, к которым мы подключены.
Это график, который мы хотим видеть, когда извлекаем подключенные узлы из нижнего центрального узла CONTACT:
Но мы получаем такой вывод json:
{
"_type": "Node",
"_id": 1,
"nodeType": "EVENT",
"nodeId": 1,
"connected_with": [
{
"_type": "Node",
"_id": 0,
"nodeType": "CONTACT",
"nodeId": 1
},
{
"_type": "Node",
"_id": 2,
"nodeType": "CONTACT",
"nodeId": 2,
"connected_with": [
{
"_type": "Node",
"_id": 0,
"nodeType": "CONTACT",
"nodeId": 1
}
]
}
]
}
Мы хотим углубиться на 2 уровня, то есть мы хотим видеть контакты, с которыми мы связаны, а также контакты, с которыми мы «встретились» на мероприятии, поэтому мы хотим углубиться на 2 уровня.
В настоящее время у нас выполняется этот шифровальный запрос, но, как упоминалось ранее, он не работает.
MATCH path = (n:Node {nodeId: 1})<-[:CONNECTED_WITH*]-(nodes)
WITH collect(path) as paths
CALL apoc.convert.toTree(paths) yield value as json
RETURN json
Любая помощь будет оценена по достоинству!