Какова причина и как исправить это исключение:Neo4j с пространственным: NotFoundException: Более отношения
org.neo4j.graphdb.NotFoundException: More than one relationship[RTREE_CHILD, INCOMING] found for NodeImpl#105
at org.neo4j.kernel.impl.core.NodeImpl.getSingleRelationship(NodeImpl.java:344)
at org.neo4j.kernel.impl.core.NodeProxy.getSingleRelationship(NodeProxy.java:191)
at org.neo4j.collections.rtree.RTreeIndex.getIndexNodeParent(RTreeIndex.java:768)
at org.neo4j.collections.rtree.RTreeIndex.adjustPathBoundingBox(RTreeIndex.java:672)
at org.neo4j.collections.rtree.RTreeIndex.add(RTreeIndex.java:90)
at org.neo4j.gis.spatial.EditableLayerImpl.add(EditableLayerImpl.java:44)
at org.neo4j.gis.spatial.ShapefileImporter.importFile(ShapefileImporter.java:209)
at org.neo4j.gis.spatial.ShapefileImporter.importFile(ShapefileImporter.java:122)
Я использую 2.0.0 и пространственные банки исходя из скомпилированного проекта GitHub.
Исключение генерируется, когда я пытаюсь импортировать shape-файл (это код в неуправляемом расширении):
GraphDatabaseService spatialDb = new GraphDatabaseFactory().newEmbeddedDatabase("/home/db/data/spatial.db");
Transaction tx = spatialDb.beginTx();
try {
ShapefileImporter importer = new ShapefileImporter(spatialDb, new NullListener());
importer.importFile("/home/bla/realshp/users_location.shp", "users_location");
tx.success();
} catch (Exception e) {
e.printStackTrace();
} finally {
tx.close();
return Response.status(200).entity("Done. ").build();
}
Файл формы генерируется из CSV файл с ogr2ogr - это, кажется, законна и читаются без исключений. В исходном файле там было около 30000 точек определяется следующим образом (ogr2ogr потянет долготы и широты):
id,longitude,latitude,gender,updated
3,-122.1171925,37.4343361,1,2013-11-20 05:03:22
304,-122.0919000,37.3094000,1,2013-11-03 00:42:01
311,-122.0919000,37.3094000,1,2013-11-03 00:42:01
Как обойти это? Мне нужно загрузить миллионы очков в дБ. Боковой вопрос: теперь я создаю новый графический пространственный хранилище данных - это правильно? Может быть, я должен загрузить его в существующий график db?
UPDATE:
Я попытался ввести координаты "вручную" с помощью методов TestSimplePointLayer. Я получил то же исключение вокруг 450-й координаты. Букет из них такой же, как вы можете видеть в образце, но они действительны. Как обойти это?
спасибо, я был в состоянии импортировать данные с помощью объекта ИПП. Никогда не удалось с шейп-файлом, т. – user3167332