Я использую Neo4j 1.8.2 с Neo4j Spatial 0,9 для 1.8.2 (http://m2.neo4j.org/content/repositories/releases/org/neo4j/neo4j-spatial/0.9-neo4j-1.8.2/)Neo4j Пространственно два узла, созданные для каждого пространственно индексированного узла
Далее следуют примеры кода отсюда http://architects.dzone.com/articles/neo4jcypher-finding-football одним change- вместо SpatialIndexProvider .SIMPLE_WKT_CONFIG, я использовал SpatialIndexProvider.SIMPLE_POINT_CONFIG_WKT
Все отлично работает, пока вы не выполните следующий запрос:
START n=node:stadiumsLocation('withinDistance:[53.489271,-2.246704, 5.0]')
RETURN n.name, n.wkt;
n.name является нулевым. Когда я исследовал график, я нашел эти данные:
Node[80]{lon:-2.20024,lat:53.483,id:79,gtype:1,bbox:-2.20024,53.483,-2.20024,53.483]}
Node[168]{lon:-2.29139,lat:53.4631,id:167,gtype:1,bbox:-2.29139,53.4631,-2.29139,53.4631]}
для узла 80 возвращенных, это выглядит, как это узел, созданный для пространственной записи, который содержит свойство ID: 79. Узел 79 - это фактическая запись стадиона из примера.
Согласно источнику IndexProviderTest, комментарии // Мы не больше это нужно как узел мы вернемся уже 'Реал' узел // Node = узел db.getNodeById ((Long) spatialRecord.getProperty ("Я бы")); , похоже, указывают, что эта функция недоступна в версии, которую я использую.
Мой вопрос в том, что является рекомендуемым способом использования в пределах сопротивления с другими условиями соответствия? Есть еще несколько условий, которые могут быть выполнены, но я не могу заставить обработать фактический узел, чтобы фактически соответствовать им. Должен ли я явно создавать отношения? Не использовать Cypher и использовать основной API для обхода? Разделить запросы?
Lemme попытаться воссоздать это ... –