neo4j-contrib / neo4j-tinkerpop-api-impl

Implementation of Apache Licensed Neo4j API for Tinkerpop3
Other
24 stars 16 forks source link

Compatibility with Neo4j 3.5+ #13

Closed fntneves closed 5 years ago

fntneves commented 5 years ago

Hello, I was using this library with Neo4j (community) without any trouble.

However, I would like to take advantage of Neo4j 3.5 features, such as native b-tree indexes.

I'm getting the following error, when I update my Neo4j dependency to 3.5:

Exception in thread "main" java.lang.RuntimeException: GraphFactory could not instantiate this Graph implementation [class org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph]
    at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:82)
    at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:70)
    at pt.haslab.horus.ExecutionGraphFactory.getGraph(ExecutionGraphFactory.java:22)
    at pt.haslab.horus.FalconTester.main(FalconTester.java:30)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:78)
    ... 3 more
Caused by: java.util.ServiceConfigurationError: org.neo4j.configuration.LoadableConfig: Provider org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings could not be instantiated
    at java.util.ServiceLoader.fail(ServiceLoader.java:232)
    at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.util.Iterator.forEachRemaining(Iterator.java:116)
    at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    at org.neo4j.configuration.LoadableConfig.allConfigClasses(LoadableConfig.java:106)
    at java.util.Optional.orElseGet(Optional.java:267)
    at org.neo4j.kernel.configuration.Config$Builder.build(Config.java:306)
    at org.neo4j.kernel.configuration.Config.defaults(Config.java:375)
    at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:210)
    at org.neo4j.tinkerpop.api.impl.Neo4jFactoryImpl.newGraphDatabase(Neo4jFactoryImpl.java:46)
    at org.neo4j.tinkerpop.api.Neo4jFactory$Builder.open(Neo4jFactory.java:32)
    at org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph.<init>(Neo4jGraph.java:125)
    at org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph.open(Neo4jGraph.java:139)
    ... 8 more
Caused by: java.lang.NoSuchMethodError: org.neo4j.kernel.configuration.Settings.options(Ljava/lang/Class;)Ljava/util/function/Function;
    at org.neo4j.kernel.impl.enterprise.configuration.EnterpriseEditionSettings.<clinit>(EnterpriseEditionSettings.java:62)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    ... 26 more

Is there any incompatibility with Neo4j 3.5?

fntneves commented 5 years ago

Nevermind, forgot to update also the neo4j-enterprise dependency. Thank you, btw.