2016-02-23 89 views
1

我一直試圖通過Java使用Neo4j Spatial插件加載數據。我已經添加了插件,並且當我啓動一個空數據庫時,這通過對服務器的以下GET請求進行確認。空間數據加載後無法啓動Neo4j服務器

{ 
    "extensions": { 
     "SpatialPlugin": { 
      "addSimplePointLayer": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addSimplePointLayer", 
      "findClosestGeometries": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/findClosestGeometries", 
      "addNodesToLayer": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addNodesToLayer", 
      "addGeometryWKTToLayer": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addGeometryWKTToLayer", 
      "findGeometriesWithinDistance": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/findGeometriesWithinDistance", 
      "addEditableLayer": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addEditableLayer", 
      "addCQLDynamicLayer": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addCQLDynamicLayer", 
      "addNodeToLayer": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addNodeToLayer", 
      "getLayer": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/getLayer", 
      "findGeometriesInBBox": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/findGeometriesInBBox", 
      "updateGeometryFromWKT": "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/updateGeometryFromWKT" 
     } 
    }, 
    "node": "http://localhost:7474/db/data/node", 
    "node_index": "http://localhost:7474/db/data/index/node", 
    "relationship_index": "http://localhost:7474/db/data/index/relationship", 
    "extensions_info": "http://localhost:7474/db/data/ext", 
    "relationship_types": "http://localhost:7474/db/data/relationship/types", 
    "batch": "http://localhost:7474/db/data/batch", 
    "cypher": "http://localhost:7474/db/data/cypher", 
    "indexes": "http://localhost:7474/db/data/schema/index", 
    "constraints": "http://localhost:7474/db/data/schema/constraint", 
    "transaction": "http://localhost:7474/db/data/transaction", 
    "node_labels": "http://localhost:7474/db/data/labels", 
    "neo4j_version": "2.3.2" 
} 

然而,當我停止服務器,通過Java加載我的空間數據與SpatialIndexProvider.SIMPLE_WKT_CONFIG指數,然後將其添加:

 try (Transaction tx = db.beginTx()) { 
      Index<Node> index = db.index().forNodes("location", SpatialIndexProvider.SIMPLE_WKT_CONFIG); 

      for (String line : lines) { 
       String[] columns = line.split(","); 
       Node node = db.createNode(); 
       node.setProperty("wkt", String.format("POINT(%s %s)", columns[4], columns[3])); 
       node.setProperty("name", columns[0]); 
       index.add(node, "dummy", "value"); 
      } 

      tx.success(); 
     } 

重新啓動後,我得到的錯誤:

2016-02-23 13:44:36.747+0000 ERROR [o.n.k.KernelHealth] setting TM not OK. Kernel has encountered some problem, please perform necessary action (tx recovery/restart) No index provider 'spatial' found. Maybe the intended provider (or one more of its dependencies) aren't on the classpath or it failed to load. 

in Messages.log裏面的graph.db。有什麼顯而易見的,我做錯了嗎?

我在Windows 8中,Neo4j的2.3.2,Java的8和Neo4j的空間,0.15的Neo4j-2.3.0.jar

回答

1

你解壓縮的全空間壓縮到插件目錄?

否則有些空間需求無法找到的類。

+0

啊,是的,我只是將neo4j-spatial-0.15-neo4j-2.3.0.jar複製到插件文件夾中(沒有正確地跟隨文檔)。非常感謝 – bak202