2

こんにちは、neo4j の初心者で、OSM + Neo4j Spatial を使用したいと考えています。Maven プロジェクトがあり、Neo4j のバージョンは 2.3.0-M01 です

OSM ファイルをインポートするためだけの簡単なコードがありますが、インポート ファイルにいくつかのエラーが表示されます: GraphDatabaseService、EmbeddedGraphDatabase、および BatchInserter。

package testOSM;

import java.nio.charset.Charset;
import org.neo4j.gis.spatial.osm.OSMImporter;

import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.kernel.EmbeddedGraphDatabase;
import org.neo4j.kernel.impl.batchinsert.BatchInserter;

public class TestOsm {

    private static final String DB_PATH = "/community/data/graph.db";

    public static void main(final String[] args){

        OSMImporter importer = new OSMImporter("clz_map.osm");
        importer.setCharset(Charset.forName("UTF-8"));
        BatchInserter batchInserter = BatchInserter.inserter(DB_PATH);

        try{
            importer.importFile(batchInserter, "clz_map.osm", false);
            GraphDatabaseService db = new EmbeddedGraphDatabase(DB_PATH);
            importer.reIndex(db);
            db.shutdown();
            }

        catch(Exception e){
            System.out.println(e.getMessage());
            }

        batchInserter.shutdown();    
    }  
}

私はNeo4j 2.3-M01を使用しているため、バージョンに問題がある可能性がありますが、バージョンをどのように設定すればよいか正確にはわかりません。

<dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j-graph-collections</artifactId>
    <version>0.7.1-neo4j-2.0.2-SNAPSHOT</version>
    <type>jar</type>
</dependency>

私の pom.xml はhttps://github.com/neo4j-contrib/spatial/blob/master/pom.xmlに基づいています

プラス:

 <repository>
    <id>neo4j</id>
    <url>http://m2.neo4j.org/content/repositories/releases/</url>
    <releases>
    <enabled>true</enabled>
    </releases>
  </repository>
<dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j</artifactId>
    <version>2.3.0-M01</version>
    <scope>provided</scope>
    </dependency>
    <dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j-kernel</artifactId>
    <version>2.3.0-M01</version>
 </dependency>

私の git リポジトリ https://github.com/amhg/OSMをご覧ください。

前もって感謝します!

4

3 に答える 3

1

最後にリリースされたバージョン以降、API の変更があります。https://github.com/neo4j-contrib/spatial/blob/master/pom.xml#L4を見ると、そのプロジェクトを自分でビルドするとNeo4j 2.2.3を使用できるようです

mvn install

次に、空間プラグインのバージョン 0.15-neo4j-2.2.3 をローカルの mvn リポジトリから pom.xml に含めます。

于 2015-07-29T07:47:03.623 に答える
1

これに遭遇した他の人のために、これを行う方法は次のとおりです: https://github.com/maxdemarzi/OSM

2.2.x と 2.3 (7/30 - 現在 M2) の小さな違いに注意してください。適切な依存関係が必要でした。

于 2015-07-30T15:15:47.587 に答える
1

pom.xml を確認しましたが、Neo4j Spatial から pom.xml をコピーしたようです。これはあなたが望むものではありません。

Neo4j Spatial を使用する新しいアプリケーションを作成しようとしているので、neo4j-spatial pom に似た pom ではなく、neo4j-spatial を依存関係として参照する新しい pom が必要です。README には、依存関係として neo4j-spatial を独自の pom に追加する方法を説明するセクションがあります。

したがって、次のことをお勧めします。

于 2015-07-29T19:42:15.480 に答える