neo4j-labs / neosemantics

Graph+Semantics: Import/Export RDF from Neo4j. SHACL Validation, Model mapping and more.... If you like it, please ★ ⇧
https://neo4j.com/labs/neosemantics/
Apache License 2.0
826 stars 143 forks source link

Incompatibility with RDF4J-2.4.0-M1 #58

Open greenguy33 opened 6 years ago

greenguy33 commented 6 years ago

Firstly I want to thank you for creating this very useful tool. My team is working in the gray space between RDF/property graphs and like taking advantage of the best features of each, so this project has been extremely helpful.

I am building a Scala application which incorporates RDF4J libraries (for accessing our triplestore) as well as an embedded Neo4J instance. We're trying to use neosemantics to pull from our triplestore into the embedded Neo4J. This process works great, when the RDF4J libraries are not added to the project. However when they are present in the build file, the importRDF utility does not work.

Here is the dependency section of my build.sbt file:

libraryDependencies ++= Seq(
  "org.neo4j" % "neo4j" % "3.2.3",
  "org.apache.tinkerpop" % "neo4j-gremlin" % "3.3.1",
  "org.neo4j" % "neo4j-tinkerpop-api-impl" % "0.7-3.2.3",
  "org.eclipse.rdf4j" % "rdf4j-model" % "2.4.0-M1",
  "org.eclipse.rdf4j" % "rdf4j-repository-api" % "2.4.0-M1",
  "org.eclipse.rdf4j" % "rdf4j-repository-manager" % "2.4.0-M1"
)

I am calling neosemantics using the following lines of code:

val graphDb: GraphDatabaseService = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(new File ("neo4j.graph")).loadPropertiesFromFile("neo4j.conf").newGraphDatabase() 
val createResourceIndex: String = "CREATE INDEX ON :Resource(uri)"
graphDb.execute(createResourceIndex)
val query: String = """CALL semantics.importRDF("file:///path//to//file.nt","Turtle", { shortenUrls: false, 
typesToLabels: false, commitSize: 10000 })"""
graphDb.execute(query)
graphDb.shutdown()

From line "graphDb.execute(query)" an exception is thrown, which I copied at the bottom of this post. Note that this only happens when the 3 RDF4J libraries (rdf4j-model, rdf4j-repository-api, rdf4j-repository-manager) are in the project! I guess they are somehow overriding the RDF Format classes?

org.neo4j.graphdb.QueryExecutionException: Failed to invoke procedure `semantics.importRDF`: Caused by: org.eclipse.rdf4j.rio.UnsupportedRDFormatException: Did not recognise RDF format object Turtle (mimeTypes=text/turtle, application/x-turtle; ext=ttl) org.neo4j.graphdb.QueryExecutionException: Failed to invoke procedure `semantics.importRDF`: Caused by: org.eclipse.rdf4j.rio.UnsupportedRDFormatException: Did not recognise RDF format object Turtle (mimeTypes=text/turtle, application/x-turtle; ext=ttl) at org.neo4j.kernel.impl.query.QueryExecutionKernelException.asUserException(QueryExecutionKernelException.java:35) at org.neo4j.kernel.impl.factory.ClassicCoreSPI.executeQuery(ClassicCoreSPI.java:82) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:430) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:413) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:397) at edu.upenn.turbo.Neo4jConnector$.loadRDFUsingNeosemantics(Neo4jConnector.scala:100) at edu.upenn.turbo.Neo4jConnector$.main(Neo4jConnector.scala:18) at edu.upenn.turbo.Neo4jConnector.main(Neo4jConnector.scala) 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) Caused by: org.neo4j.kernel.impl.query.QueryExecutionKernelException: Failed to invoke procedure `semantics.importRDF`: Caused by: org.eclipse.rdf4j.rio.UnsupportedRDFormatException: Did not recognise RDF format object Turtle (mimeTypes=text/turtle, application/x-turtle; ext=ttl) at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:65) at org.neo4j.kernel.impl.factory.ClassicCoreSPI.executeQuery(ClassicCoreSPI.java:78) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:430) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:413) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:397) at edu.upenn.turbo.Neo4jConnector$.loadRDFUsingNeosemantics(Neo4jConnector.scala:100) at edu.upenn.turbo.Neo4jConnector$.main(Neo4jConnector.scala:18) at edu.upenn.turbo.Neo4jConnector.main(Neo4jConnector.scala) 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) Caused by: org.neo4j.cypher.CypherExecutionException: Failed to invoke procedure `semantics.importRDF`: Caused by: org.eclipse.rdf4j.rio.UnsupportedRDFormatException: Did not recognise RDF format object Turtle (mimeTypes=text/turtle, application/x-turtle; ext=ttl) at org.neo4j.cypher.internal.spi.v3_2.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:34) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.translateException(ExceptionTranslatingQueryContext.scala:34) at org.neo4j.cypher.internal.spi.v3_2.ExceptionTranslationSupport$class.translateIterator(ExceptionTranslationSupport.scala:45) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.translateIterator(ExceptionTranslatingQueryContext.scala:34) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.callReadWriteProcedure(ExceptionTranslatingQueryContext.scala:142) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.EagerReadWriteCallMode.callProcedure(ProcedureCallMode.scala:54) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureExecutionResult.executeCall(ProcedureExecutionResult.scala:57) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureExecutionResult.<init>(ProcedureExecutionResult.scala:54) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureCallExecutionPlan.createNormalExecutionResult(ProcedureCallExecutionPlan.scala:73) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureCallExecutionPlan.run(ProcedureCallExecutionPlan.scala:63) at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:102) at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:100) at org.neo4j.cypher.internal.compatibility.v3_2.exceptionHandler$runSafely$.apply(exceptionHandler.scala:90) at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper.run(Compatibility.scala:100) at org.neo4j.cypher.internal.PreparedPlanExecution.execute(PreparedPlanExecution.scala:26) at org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:107) at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:61) at org.neo4j.kernel.impl.factory.ClassicCoreSPI.executeQuery(ClassicCoreSPI.java:78) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:430) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:413) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:397) at edu.upenn.turbo.Neo4jConnector$.loadRDFUsingNeosemantics(Neo4jConnector.scala:100) at edu.upenn.turbo.Neo4jConnector$.main(Neo4jConnector.scala:18) at edu.upenn.turbo.Neo4jConnector.main(Neo4jConnector.scala) 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) Caused by: org.neo4j.kernel.api.exceptions.ProcedureException: Failed to invoke procedure `semantics.importRDF`: Caused by: org.eclipse.rdf4j.rio.UnsupportedRDFormatException: Did not recognise RDF format object Turtle (mimeTypes=text/turtle, application/x-turtle; ext=ttl) at org.neo4j.kernel.impl.proc.ReflectiveProcedureCompiler$ReflectiveProcedure.apply(ReflectiveProcedureCompiler.java:619) at org.neo4j.kernel.impl.proc.ProcedureRegistry.callProcedure(ProcedureRegistry.java:201) at org.neo4j.kernel.impl.proc.Procedures.callProcedure(Procedures.java:256) at org.neo4j.kernel.impl.api.OperationsFacade.callProcedure(OperationsFacade.java:1415) at org.neo4j.kernel.impl.api.OperationsFacade.procedureCallWrite(OperationsFacade.java:1369) at org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext$$anonfun$20.apply(TransactionBoundQueryContext.scala:631) at org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext$$anonfun$20.apply(TransactionBoundQueryContext.scala:631) at org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext.callProcedure(TransactionBoundQueryContext.scala:651) at org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext.callReadWriteProcedure(TransactionBoundQueryContext.scala:632) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext$$anonfun$callReadWriteProcedure$1.apply(ExceptionTranslatingQueryContext.scala:142) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext$$anonfun$callReadWriteProcedure$1.apply(ExceptionTranslatingQueryContext.scala:142) at org.neo4j.cypher.internal.spi.v3_2.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:32) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.translateException(ExceptionTranslatingQueryContext.scala:34) at org.neo4j.cypher.internal.spi.v3_2.ExceptionTranslationSupport$class.translateIterator(ExceptionTranslationSupport.scala:45) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.translateIterator(ExceptionTranslatingQueryContext.scala:34) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.callReadWriteProcedure(ExceptionTranslatingQueryContext.scala:142) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.EagerReadWriteCallMode.callProcedure(ProcedureCallMode.scala:54) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureExecutionResult.executeCall(ProcedureExecutionResult.scala:57) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureExecutionResult.<init>(ProcedureExecutionResult.scala:54) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureCallExecutionPlan.createNormalExecutionResult(ProcedureCallExecutionPlan.scala:73) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureCallExecutionPlan.run(ProcedureCallExecutionPlan.scala:63) at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:102) at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:100) at org.neo4j.cypher.internal.compatibility.v3_2.exceptionHandler$runSafely$.apply(exceptionHandler.scala:90) at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper.run(Compatibility.scala:100) at org.neo4j.cypher.internal.PreparedPlanExecution.execute(PreparedPlanExecution.scala:26) at org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:107) at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:61) at org.neo4j.kernel.impl.factory.ClassicCoreSPI.executeQuery(ClassicCoreSPI.java:78) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:430) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:413) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:397) at edu.upenn.turbo.Neo4jConnector$.loadRDFUsingNeosemantics(Neo4jConnector.scala:100) at edu.upenn.turbo.Neo4jConnector$.main(Neo4jConnector.scala:18) at edu.upenn.turbo.Neo4jConnector.main(Neo4jConnector.scala) 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) Caused by: org.eclipse.rdf4j.rio.UnsupportedRDFormatException: Did not recognise RDF format object Turtle (mimeTypes=text/turtle, application/x-turtle; ext=ttl) at org.eclipse.rdf4j.rio.Rio.lambda$unsupportedFormat$0(Rio.java:725) at java.util.Optional.orElseThrow(Optional.java:290) at org.eclipse.rdf4j.rio.Rio.createParser(Rio.java:102) at semantics.RDFImport.importRDF(RDFImport.java:72) at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) at org.neo4j.kernel.impl.proc.ReflectiveProcedureCompiler$ReflectiveProcedure.apply(ReflectiveProcedureCompiler.java:597) at org.neo4j.kernel.impl.proc.ProcedureRegistry.callProcedure(ProcedureRegistry.java:201) at org.neo4j.kernel.impl.proc.Procedures.callProcedure(Procedures.java:256) at org.neo4j.kernel.impl.api.OperationsFacade.callProcedure(OperationsFacade.java:1415) at org.neo4j.kernel.impl.api.OperationsFacade.procedureCallWrite(OperationsFacade.java:1369) at org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext$$anonfun$20.apply(TransactionBoundQueryContext.scala:631) at org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext$$anonfun$20.apply(TransactionBoundQueryContext.scala:631) at org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext.callProcedure(TransactionBoundQueryContext.scala:651) at org.neo4j.cypher.internal.spi.v3_2.TransactionBoundQueryContext.callReadWriteProcedure(TransactionBoundQueryContext.scala:632) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext$$anonfun$callReadWriteProcedure$1.apply(ExceptionTranslatingQueryContext.scala:142) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext$$anonfun$callReadWriteProcedure$1.apply(ExceptionTranslatingQueryContext.scala:142) at org.neo4j.cypher.internal.spi.v3_2.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:32) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.translateException(ExceptionTranslatingQueryContext.scala:34) at org.neo4j.cypher.internal.spi.v3_2.ExceptionTranslationSupport$class.translateIterator(ExceptionTranslationSupport.scala:45) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.translateIterator(ExceptionTranslatingQueryContext.scala:34) at org.neo4j.cypher.internal.compatibility.v3_2.ExceptionTranslatingQueryContext.callReadWriteProcedure(ExceptionTranslatingQueryContext.scala:142) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.EagerReadWriteCallMode.callProcedure(ProcedureCallMode.scala:54) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureExecutionResult.executeCall(ProcedureExecutionResult.scala:57) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureExecutionResult.<init>(ProcedureExecutionResult.scala:54) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureCallExecutionPlan.createNormalExecutionResult(ProcedureCallExecutionPlan.scala:73) at org.neo4j.cypher.internal.compiler.v3_2.executionplan.procs.ProcedureCallExecutionPlan.run(ProcedureCallExecutionPlan.scala:63) at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:102) at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:100) at org.neo4j.cypher.internal.compatibility.v3_2.exceptionHandler$runSafely$.apply(exceptionHandler.scala:90) at org.neo4j.cypher.internal.compatibility.v3_2.Compatibility$ExecutionPlanWrapper.run(Compatibility.scala:100) at org.neo4j.cypher.internal.PreparedPlanExecution.execute(PreparedPlanExecution.scala:26) at org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:107) at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:61) at org.neo4j.kernel.impl.factory.ClassicCoreSPI.executeQuery(ClassicCoreSPI.java:78) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:430) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:413) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:397) at edu.upenn.turbo.Neo4jConnector$.loadRDFUsingNeosemantics(Neo4jConnector.scala:100) at edu.upenn.turbo.Neo4jConnector$.main(Neo4jConnector.scala:18) at edu.upenn.turbo.Neo4jConnector.main(Neo4jConnector.scala) 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)

jbarrasa commented 6 years ago

Hi Hayden, thanks for using neosemantics. Great to hear that it's being useful in your project. You have a quite interesting use. I must admit I hadn't thought of embedded mode :)

I'm a bit lost because the exception suggests the Turtle serialisation format is not recognised (?)

I assume you're using neosemantics 3.4.0.2, correct? I see you're using a milestone version for RDF4J 2.4.0-M1, is there any reason not to use 2.4.0? That's the one that neosemantics 3.4.0.2 uses.

Could the version mismatch be causing the problem by some weird reason?

JB

greenguy33 commented 6 years ago

Hi JB,

Glad you think the use case is interesting. I think using embedded mode with this plugin is pretty neat because it opens the door for seamless RDF->property graph translation within the logic of an application and doesn't rely on an external database. We want to use this for data validation checks for our RDF data; when it is too cumbersome to write SPARQL queries we prefer to use Gremlin which to this point isn't workable with RDF (as far as we know).

Anyway, getting back to the point of this issue, I tried switching the RDF4J dependencies to version 2.4.0, so my dependencies list now looks like this:

libraryDependencies ++= Seq(
"org.neo4j" % "neo4j" % "3.2.3",
"org.apache.tinkerpop" % "neo4j-gremlin" % "3.3.1",
"org.neo4j" % "neo4j-tinkerpop-api-impl" % "0.7-3.2.3",
"org.eclipse.rdf4j" % "rdf4j-model" % "2.4.0",
"org.eclipse.rdf4j" % "rdf4j-repository-api" % "2.4.0",
"org.eclipse.rdf4j" % "rdf4j-repository-manager" % "2.4.0"
)

Unfortunately I still have the same issue as before, implying that the TURTLE serialization does not exist. And yes, I am using neosemantics 3.4.0.2

srinivasanb commented 5 years ago

Hi, Thank you for wonderful jar! Iam trying to use neosemantics to import data into embedded graphdb and i couldnt find a way to register neosemantics with neo4j in embedded mode. I have attached the error below. Would appreciate suggestions on how to get embedded graph instance to recognize neosemantics jar.

CALL semantics.importRDF("file:///tmp/root-ontology.owl","RDF/XML", { shortenUrls: true, typesToLabels: true, commitSize: 9000 }) Exception in thread "main" org.neo4j.graphdb.QueryExecutionException: There is no procedure with the name semantics.importRDF registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed. at org.neo4j.kernel.impl.query.QueryExecutionKernelException.asUserException(QueryExecutionKernelException.java:35) at org.neo4j.graphdb.facade.spi.ClassicCoreSPI.executeQuery(ClassicCoreSPI.java:88) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:421) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:404) at org.neo4j.kernel.impl.factory.GraphDatabaseFacade.execute(GraphDatabaseFacade.java:388) at com.walmart.labs.search.ontology.NeoOntPtNode.main(NeoOntPtNode.java:64) Caused by: org.neo4j.kernel.impl.query.QueryExecutionKernelException: There is no procedure with the name semantics.importRDF registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed. at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:89) at org.neo4j.graphdb.facade.spi.ClassicCoreSPI.executeQuery(ClassicCoreSPI.java:84) ... 4 more Caused by: org.neo4j.cypher.CypherExecutionException: There is no procedure with the name semantics.importRDF registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed. at org.neo4j.cypher.internal.compatibility.v3_5.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:35) at org.neo4j.cypher.internal.compatibility.v3_5.ExceptionTranslatingPlanContext.translateException(ExceptionTranslatingPlanContext.scala:26) at org.neo4j.cypher.internal.compatibility.v3_5.ExceptionTranslatingPlanContext.procedureSignature(ExceptionTranslatingPlanContext.scala:52) at org.neo4j.cypher.internal.compiler.v3_5.phases.RewriteProcedureCalls$$anonfun$resolverProcedureCall$1$$anonfun$2.apply(RewriteProcedureCalls.scala:48) at org.neo4j.cypher.internal.compiler.v3_5.phases.RewriteProcedureCalls$$anonfun$resolverProcedureCall$1$$anonfun$2.apply(RewriteProcedureCalls.scala:48) at org.neo4j.cypher.internal.v3_5.logical.plans.ResolvedCall$.apply(ResolvedCall.scala:34) at org.neo4j.cypher.internal.compiler.v3_5.phases.RewriteProcedureCalls$$anonfun$resolverProcedureCall$1.applyOrElse(RewriteProcedureCalls.scala:48) at scala.PartialFunction$OrElse.apply(PartialFunction.scala:167) at org.neo4j.cypher.internal.v3_5.util.Rewritable$RewritableAny$.rewrite$extension0(Rewritable.scala:116) at org.neo4j.cypher.internal.v3_5.util.bottomUp$BottomUpRewriter.rec(Rewritable.scala:219) at org.neo4j.cypher.internal.v3_5.util.bottomUp$BottomUpRewriter.apply(Rewritable.scala:204) at scala.Function1$$anonfun$andThen$1.apply(Function1.scala:52) at org.neo4j.cypher.internal.v3_5.util.Rewritable$RewritableAny$.rewrite$extension0(Rewritable.scala:116) at org.neo4j.cypher.internal.v3_5.util.Rewritable$RewritableAny$.endoRewrite$extension(Rewritable.scala:125) at org.neo4j.cypher.internal.compiler.v3_5.phases.RewriteProcedureCalls$.process(RewriteProcedureCalls.scala:72) at org.neo4j.cypher.internal.compiler.v3_5.phases.RewriteProcedureCalls$.process(RewriteProcedureCalls.scala:32) at org.neo4j.cypher.internal.v3_5.frontend.phases.Phase$$anonfun$transform$1.apply(Phase.scala:36) at org.neo4j.cypher.internal.v3_5.frontend.helpers.package$$anonfun$closing$1.apply(package.scala:24) at org.neo4j.cypher.internal.v3_5.frontend.helpers.package$$anonfun$closing$1.apply(package.scala:24) at org.neo4j.cypher.internal.v3_5.frontend.helpers.package$.using(package.scala:32) at org.neo4j.cypher.internal.v3_5.frontend.helpers.package$.closing(package.scala:24) at org.neo4j.cypher.internal.v3_5.frontend.phases.Phase$class.transform(Phase.scala:35) at org.neo4j.cypher.internal.compiler.v3_5.phases.RewriteProcedureCalls$.transform(RewriteProcedureCalls.scala:32) at org.neo4j.cypher.internal.v3_5.frontend.phases.PipeLine.transform(Transformer.scala:60) at org.neo4j.cypher.internal.v3_5.frontend.phases.PipeLine.transform(Transformer.scala:60) at org.neo4j.cypher.internal.compiler.v3_5.CypherPlanner.normalizeQuery(CypherPlanner.scala:49) at org.neo4j.cypher.internal.compatibility.v3_5.Cypher35Planner$$anonfun$parseAndPlan$1.apply(Cypher35Planner.scala:155) at org.neo4j.cypher.internal.compatibility.v3_5.Cypher35Planner$$anonfun$parseAndPlan$1.apply(Cypher35Planner.scala:124) at org.neo4j.cypher.exceptionHandler$runSafely$.apply(exceptionHandler.scala:89) at org.neo4j.cypher.internal.compatibility.v3_5.Cypher35Planner.parseAndPlan(Cypher35Planner.scala:124) at org.neo4j.cypher.internal.compatibility.CypherCurrentCompiler.compile(CypherCurrentCompiler.scala:83) at org.neo4j.cypher.internal.MasterCompiler.innerCompile$1(MasterCompiler.scala:115) at org.neo4j.cypher.internal.MasterCompiler.compile(MasterCompiler.scala:150) at org.neo4j.cypher.internal.ExecutionEngine$$anonfun$compilers$3.apply(ExecutionEngine.scala:137) at org.neo4j.cypher.internal.ExecutionEngine$$anonfun$compilers$3.apply(ExecutionEngine.scala:137) at org.neo4j.cypher.internal.QueryCache.compileAndCache(QueryCache.scala:167) at org.neo4j.cypher.internal.QueryCache.computeIfAbsentOrStale(QueryCache.scala:126) at org.neo4j.cypher.internal.ExecutionEngine.getOrCompile(ExecutionEngine.scala:157) at org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:96) at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:85) ... 5 more Caused by: org.neo4j.internal.kernel.api.exceptions.ProcedureException: There is no procedure with the name semantics.importRDF registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed. at org.neo4j.kernel.impl.proc.ProcedureRegistry.noSuchProcedure(ProcedureRegistry.java:276) at org.neo4j.kernel.impl.proc.ProcedureRegistry.procedure(ProcedureRegistry.java:171) at org.neo4j.kernel.impl.proc.Procedures.procedure(Procedures.java:258) at org.neo4j.kernel.impl.newapi.AllStoreHolder.procedureGet(AllStoreHolder.java:768) at org.neo4j.cypher.internal.runtime.interpreted.TransactionBoundPlanContext.procedureSignature(TransactionBoundPlanContext.scala:173) at org.neo4j.cypher.internal.compatibility.v3_5.ExceptionTranslatingPlanContext$$anonfun$procedureSignature$1.apply(ExceptionTranslatingPlanContext.scala:52) at org.neo4j.cypher.internal.compatibility.v3_5.ExceptionTranslatingPlanContext$$anonfun$procedureSignature$1.apply(ExceptionTranslatingPlanContext.scala:52) at org.neo4j.cypher.internal.compatibility.v3_5.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:33) ... 44 more