2014-10-25 2 views
1

Я хочу играть с neo4j и пространственными индексами. Я не могу найти документацию, демонстрирующую, как это сделать через cypher, только через REST API.Как создать пространственный индекс в neo4j, используя только cypher?

Возможно ли создать пространственные индексы через Cypher, скажем, в веб-консоли neo4j?

ответ

4

В настоящее время нет способа создать пространственный индекс с использованием Cypher. Вы можете использовать java API или вызов REST, см. Документацию по адресу http://neo4j-contrib.github.io/spatial/#rest-api-create-a-spatial-index. Поскольку Neo4j браузер позволяет отправлять HTTP POST можно ввести там:

:POST /db/data/index/node {"name":"geom", "config": 
    {"provider":"spatial", "geometry_type":"point", "lat":"lat", "lon":"lon"} 
} 

В качестве альтернативы вы можете использовать команду индекса в neo4j-shell.

Обновление для Neo4j 3.0

Neo4j Spatial для 3.0 обеспечивает хранимые процедуры для управления пространственного индекса - и, следовательно, все может быть сделано через шифр. См. https://github.com/neo4j-contrib/spatial/blob/master/src/main/java/org/neo4j/gis/spatial/procedures/SpatialProcedures.java. Примечание: эта версия еще не выпущена, поэтому вам нужно самостоятельно построить источник.

+0

Включает ли этот индекс все узлы, которые имеют свойства lon и lat, или мне нужно что-то сделать, чтобы применить его только к словам PostCode. (Прошу прощения! Вопросы новичка!) –

+1

Пространственные индексы - это ручные индексы, поэтому вам нужно вручную добавить узлы в индекс. Для этого есть запрос REST, см. Http://neo4j.com/docs/stable/rest-api-indexes.html#rest-api-add-node-to-index –

+0

У меня возникла проблема с созданием пространственного индекса используя API java, поддерживаемый соединением базы данных REST http://stackoverflow.com/questions/26602540 –

Смежные вопросы