Настройка пространственного плагина для neo4j
Чтобы узнать что-то новое, я недавно запустил веб-проект на основе Scala, Play и Neo4j. Приложение My Play подключается к Neo4j с помощью AnormCypher.
Все работает нормально, но в данный момент я изо всех сил пытаюсь реализовать функцию поиска близости...
Я знаю, что плагин Spatial - это то, что нужно, и уже установил плагин на сервер Neo4j, но я не знаю, какие шаги по настройке необходимы для использования его (в обычных шифровальных) запросах.
Соответствующие узлы выглядят так:
(city: Location {name: "Zürich", lat: 47.3667, lon: 8.5500})
Можно ли все настроить, чтобы я мог написать что-то вроде
MATCH (location: Location)-[...SOME_PATTERN
WHERE location 'withinDistance:[47.3,8.5, 100.0]'
RETURN location.name
Как мне этого добиться?
1 ответ
Решение
Пространственный плагин по-прежнему использует устаревший синтаксис индексации в Cypher, поэтому вы должны использовать этот синтаксис:
START location=node:spatial_index_here('withinDistance:[47.3,8.5, 100.0]')
MATCH (location)-[...SOME_PATTERN
RETURN location.name