2017-08-16 99 views
1

进出口运行小鬼v 3.2.5,我不断收到错误,当我尝试从小鬼控制台,或使用的Neo4j-小鬼API连接到数据库的Neo4j:Gremlin在从控制台创建Neo4j数据库时创建什么版本的数据存储?

Failed to start Neo4j with an older data store version. To enable automatic upgrade, please set configuration parameter "allow_store_upgrade=true" 

我使用创建的Neo4j数据库在Neo4j的-Java的应用程序1.4.3和3.2.3的Neo4j,像这样在斯卡拉:

val graphDb = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(new File(dbPath)) 
    .setConfig(GraphDatabaseSettings.allow_store_upgrade, "true").newGraphDatabase() 

或小鬼控制台

gremlin> conf = new BaseConfiguration() 
gremlin> conf.setProperty(Neo4jGraph.CONFIG_CONF + "dbms.allow_format_migration", "true") 
gremlin> g = Neo4jGraph.open(conf) 

所以我想知道Gremlin使用的是什么版本的数据存储库,因为它看起来并不重要,我如何制作数据库,我会得到类似上面那样的错误。我相信我的Neo4j版本创建了一个数据存储v0.A.8,我唯一没有尝试过的方法是降级我的Neo4j版本。提前感谢任何想法/反馈!

*编辑:放弃的Neo4j-Java的应用程序的错误版本号,添加Neo4j的版本

回答

1

tldr; Apache TinkerPop 3.2.5经测试可与Neo4j 2.3.3一起使用。

由于Neo4j的GPL许可与Apache许可冲突,值得注意的是,对于Apache TinkerPop,Neo4j没有直接或默认的依赖关系。所以在确定要处理的版本时有一点间接的牵扯。从技术上讲,TinkerPop有关离开它给用户选择的Neo4j的版本选择一个版本的neo4j-tinkerpop-api-impl使用方法:

https://github.com/neo4j-contrib/neo4j-tinkerpop-api-impl

即与neo4j-tinkerpop-api

https://github.com/neo4j-contrib/neo4j-tinkerpop-api

版本兼容是与您正在使用的TinkerPop版本一起使用。在3.2.5的情况下,这将是:

https://github.com/apache/tinkerpop/blob/3.2.5/neo4j-gremlin/pom.xml#L41

虽然你在技术上是可以自由选择其中一个版本的neo4j-tinkerpop-api-impl值得注意的是TinkerPop有关3.2.5只针对0.3-2.3.3测试其钩住的Neo4j 2.3.3:

https://github.com/neo4j-contrib/neo4j-tinkerpop-api-impl/blob/0.3-2.3.3/pom.xml#L23

+0

谢谢你的答案,我现在可以从小鬼控制台连接到我的v2.3.3的Neo4j数据库现在,将很快测试的Neo4j的更高版本。但我仍然无法连接到我的应用程序中使用neo4j-gremlin API数据库:'val图形:Neo4jGraph = Neo4jGraph.open(“dbPath”)' 错误:'java.lang.RuntimeException:实例化Neo4j数据库/home/gavin/neo4j/data/databases/graph.db 引起:java.lang.ClassNotFoundException:org.neo4j.tinkerpop.api.impl.Neo4jFactoryImpl' –

+0

从应用程序中使用:val graph = Neo4jGraph .open(“/ home/gavin/neo4j/data/databases/graph.db”)。getBaseGraph.asInstanceOf [Neo4jGraphAPIImpl] .getGraphDatabase' 我看你写了一些API,这是访问的最好方法图表? –

+0

如果您需要访问实际的Neo4j API,那么是的。我不认为有一个更简单的方法。 –