NEO4J: 3.4.6 Community version
neosemantics plugin: neosemantics-3.4.0.1.jar
OS: Win10
Hello! Install went fine: I moved the downloaded file "neosemantics-3.4.0.1.jar" to the "plugins" folder of neo4j installation, and re-started the server.
During restart ( ./neo4j console
, after navigating to the bin
folder in the installation location, from the Windows Power Shell), the console said:
INFO Mounted unmanaged extension [semantics.extension] at [/rdf]
2018-09-05 23:43:32.250+0000 WARN The following warnings have been detected with resource and/or provider classes:
WARNING: A HTTP GET method, public javax.ws.rs.core.Response semantics.extension.RDFEndpoint.exportOnto(org.neo4j.graphdb.GraphDatabaseService,java.lang.String), should not consume any entity.
The INFO part sounds good... unclear if the WARNING matters...
Inside the Neo4j Browser, all seemed good at first:
-
:GET /rdf/ping
replies {"ping":"here!"}
-
call dbms.procedures()
shows a long list of names, including "semantics.importRDF" and various other "semantics.XYZ" procedures
-
Import of RDF seems perfect:
call semantics.previewRDF("https://raw.githubusercontent.com/motools/musicontology/master/examples/clapton_perf/clapton.n3","Turtle", {})
as expected creates a graph that seems to match the RDF file available from that location
So far so good....... BUT the Cypher endpoint does NOT work :(
Here's a Cypher query that works - it returns a node: MATCH (n:Person {name:"Juls"}) RETURN n
However, when I issue:
:POST /rdf/cypher "MATCH (n:Person {name:"Juls"}) RETURN n"
I get:
UndefinedError
UndefinedError: Payload does not seem to be valid (JSON) data
All my other attempts of obtaining RDF fail, too. For example:
:GET /rdf/describe/id?nodeid=35
(where 35 is the ID of an actual node) gives:
FetchURLError
FetchURLError: Could not fetch URL: "500 Server Error". This could be due to the remote server policy. See your web browsers error console for more information.
Screen shots attached.
The console is now giving many error messages (here's the first part):
2018-09-06 00:10:50.720+0000 INFO mimetipe in request: /
2018-09-06 00:10:50.720+0000 INFO Unrecognized serialization in accept header param. Defaulting to JSON-LD serialization
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2018-09-06 00:10:50.727+0000 WARN /rdf/describe/id com/fasterxml/jackson/databind/JsonMappingException
java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonMappingException
at org.eclipse.rdf4j.rio.jsonld.JSONLDWriterFactory.getWriter(JSONLDWriterFactory.java:31)
at org.eclipse.rdf4j.rio.Rio.createWriter(Rio.java:137)
at semantics.extension.RDFEndpoint$4.write(RDFEndpoint.java:388)
at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:71)
at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:57)
I'm attaching the debug.log
file (trimmed to show everything from the restart on).
Your help will be appreciated; the company where I work is considering using Neo4j, but RDF export is absolutely needed. THANKS!
debug.log