Как запустить Neo4j с OSM и Neo4jSpatial?

Здравствуйте, я новичок в 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.

Заранее спасибо!


person marhg    schedule 20.07.2015    source источник


Ответы (3)



есть изменения API по сравнению с последней выпущенной версией. Глядя на https://github.com/neo4j-contrib/spatial/blob/master/pom.xml#L4 , кажется, вы можете использовать Neo4j 2.2.3, если вы сами создадите этот проект с помощью

mvn install

а затем включите версию 0.15-neo4j-2.2.3 пространственного плагина в ваш pom.xml из локального репозитория mvn.

person Peter Neubauer    schedule 29.07.2015
comment
Спасибо, Питер, я неправильно установил maven, но теперь я установил свою среду maven, мне потребовалось некоторое время из-за некоторых версий jdk. Но теперь я могу запустить установку mvn для своего проекта maven, а также добавил версию Spatial. - person marhg; 30.07.2015

Я взглянул на ваш pom.xml и похоже, что вы скопировали pom.xml из Neo4j Spatial. Это не то, что вы хотите.

Поскольку вы пытаетесь написать новое приложение, использующее Neo4j Spatial, у вас должен быть новый pom, ссылающийся на neo4j-spatial как на зависимость, а не pom, который каким-либо образом похож на neo4j-пространственный пом. В README есть раздел, в котором описывается, как добавить neo4j-spatial в качестве зависимости к вашему собственному файлу pom.

Поэтому я бы посоветовал вам сделать следующее:

person Craig Taverner    schedule 29.07.2015
comment
Спасибо, Крейг, я знаю, как мне написать файл pom.xml и что он должен содержать. - person marhg; 30.07.2015