Java 使用cypher查询导入neo4j的形状文件时出错

Java 使用cypher查询导入neo4j的形状文件时出错,java,neo4j,cypher,spatial,Java,Neo4j,Cypher,Spatial,我在下面安装了 带有Neo4j版本-3.5.17的Neo4j桌面IDE Java版本8 空间0.26.2-neo4j-3.5.2 尝试通过cypher查询将形状文件导入neo4j, 调用spatial.importShapefile(“file:///home/.local/share/neo4j-relate/dbmss/dbms-3ad2b2c1-94c6-4482-8b1f-bcfe3f413670/import/cb_2019_us_state_500k.shp) 但它会产生错误: 未能

我在下面安装了

  • 带有Neo4j版本-3.5.17的Neo4j桌面IDE
  • Java版本8
  • 空间0.26.2-neo4j-3.5.2
  • 尝试通过cypher查询将形状文件导入neo4j,

    调用spatial.importShapefile(“file:///home/.local/share/neo4j-relate/dbmss/dbms-3ad2b2c1-94c6-4482-8b1f-bcfe3f413670/import/cb_2019_us_state_500k.shp)

    但它会产生错误: 未能调用过程
    spatial.importShapefile
    :原因:java.lang.NoClassDefFoundError:无法初始化类org.geotools.data.DataUtilities


    如何解决这个问题?有人能告诉你如何解决这个问题吗?

    看起来你也在Neo4j社区发布了这个问题。我已经在那里回答了,但也将在这里回答

    不确定是否解决了这个问题,但我能够将shapefile导入数据库。 我的配置-> Neo4j 3.5.20 Java版本9 neo4j-spatial-0.26.2 shapefile->的源代码(我猜您也在使用同一个文件)。确保所有文件(如prj、dbf)都位于同一目录中。(它的neo4j箱)

    你能检查一下你的配置中是否有白名单和不受限制的spatial.*插件吗

    dbms.security.procedures.unrestricted=algo.*,apoc.*,spatial.*
    dbms.security.procedures.whitelist=algo.*,apoc.*,spatial.*
    
    >信息|插入的几何图形:56 >信息|以秒为单位的运行时间:0.329

    > neo4j> match (n) return count(n);
    > +----------+
    > | count(n) |
    > +----------+
    > | 0        |
    > +----------+
    > 
    > 1 row available after 152 ms, consumed after another 0 ms
    > neo4j>
    > neo4j> call spatial.importShapefile("cb_2019_us_state_500k.shp");
    > info | inserted geometries: 56
    > info | elapsed time in seconds: 0.338
    > +-------+
    > | count |
    > +-------+
    > | 56    |
    > +-------+
    > 
    > 1 row available after 978 ms, consumed after another 0 ms
    > neo4j> match (n) return count(n);
    > +----------+
    > | count(n) |
    > +----------+
    > | 60       |
    > +----------+
    > 
    > 1 row available after 27 ms, consumed after another 1 ms
    
    neo4j> call db.labels();
    +-----------------+
    | label           |
    +-----------------+
    | "ReferenceNode" |
    +-----------------+
    
    
    match (n) return (n) limit 2;
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | (:ReferenceNode {name: "spatial_root"})                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
    | ({index_class: "org.neo4j.gis.spatial.index.LayerRTreeIndex", gtype: 6, layercrs: "GEOGCS[\"GCS_North_American_1983\",
      DATUM[\"D_North_American_1983\",
        SPHEROID[\"GRS_1980\", 6378137.0, 298.257222101]],
      PRIMEM[\"Greenwich\", 0.0],
      UNIT[\"degree\", 0.017453292519943295],
      AXIS[\"Longitude\", EAST],
      AXIS[\"Latitude\", NORTH]]", ctime: 1609244499209, layerprops: ["ID", "STATEFP", "STATENS", "AFFGEOID", "GEOID", "STUSPS", "NAME", "LSAD", "ALAND", "AWATER"], geomencoder: "org.neo4j.gis.spatial.WKBGeometryEncoder", layer_class: "org.neo4j.gis.spatial.EditableLayerImpl", layer: "cb_2019_us_state_500k"}) |
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    
    
    

    如果您需要更多帮助,请告诉我或社区论坛组。

    看起来您也在Neo4j社区中发布了这个问题。我已经在那里回答了,但也将在这里回答

    不确定是否解决了这个问题,但我能够将shapefile导入数据库。 我的配置-> Neo4j 3.5.20 Java版本9 neo4j-spatial-0.26.2 shapefile->的源代码(我猜您也在使用同一个文件)。确保所有文件(如prj、dbf)都位于同一目录中。(它的neo4j箱)

    你能检查一下你的配置中是否有白名单和不受限制的spatial.*插件吗

    dbms.security.procedures.unrestricted=algo.*,apoc.*,spatial.*
    dbms.security.procedures.whitelist=algo.*,apoc.*,spatial.*
    
    >信息|插入的几何图形:56 >信息|以秒为单位的运行时间:0.329

    > neo4j> match (n) return count(n);
    > +----------+
    > | count(n) |
    > +----------+
    > | 0        |
    > +----------+
    > 
    > 1 row available after 152 ms, consumed after another 0 ms
    > neo4j>
    > neo4j> call spatial.importShapefile("cb_2019_us_state_500k.shp");
    > info | inserted geometries: 56
    > info | elapsed time in seconds: 0.338
    > +-------+
    > | count |
    > +-------+
    > | 56    |
    > +-------+
    > 
    > 1 row available after 978 ms, consumed after another 0 ms
    > neo4j> match (n) return count(n);
    > +----------+
    > | count(n) |
    > +----------+
    > | 60       |
    > +----------+
    > 
    > 1 row available after 27 ms, consumed after another 1 ms
    
    neo4j> call db.labels();
    +-----------------+
    | label           |
    +-----------------+
    | "ReferenceNode" |
    +-----------------+
    
    
    match (n) return (n) limit 2;
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | (:ReferenceNode {name: "spatial_root"})                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
    | ({index_class: "org.neo4j.gis.spatial.index.LayerRTreeIndex", gtype: 6, layercrs: "GEOGCS[\"GCS_North_American_1983\",
      DATUM[\"D_North_American_1983\",
        SPHEROID[\"GRS_1980\", 6378137.0, 298.257222101]],
      PRIMEM[\"Greenwich\", 0.0],
      UNIT[\"degree\", 0.017453292519943295],
      AXIS[\"Longitude\", EAST],
      AXIS[\"Latitude\", NORTH]]", ctime: 1609244499209, layerprops: ["ID", "STATEFP", "STATENS", "AFFGEOID", "GEOID", "STUSPS", "NAME", "LSAD", "ALAND", "AWATER"], geomencoder: "org.neo4j.gis.spatial.WKBGeometryEncoder", layer_class: "org.neo4j.gis.spatial.EditableLayerImpl", layer: "cb_2019_us_state_500k"}) |
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    
    
    
    如果您需要更多帮助,请告诉我或社区论坛小组