Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to use REST endpoint to work with neo4j SPARQLPlugin
    text
    copied!<p>I am trying to run "SPARQLPlugin" with the neo4j 2.0 M06, on a newly installed folder with no data in the database, but I am unable to find an example as to how I can call the REST endpoint. Is there an example somewhere that shows how the rest endpoint can be used play with SPARQL?</p> <p>I am trying with the chrome Advanced rest client as shown below <img src="https://i.stack.imgur.com/JNjC2.jpg" alt="POST Call with the example data"></p> <p>i get an error response as below:</p> <pre><code>{ "message" : "java.lang.String cannot be cast to java.util.Map", "exception" : "BadInputException", "fullname" : "org.neo4j.server.rest.repr.BadInputException", "stacktrace" : [ "org.neo4j.server.rest.repr.formats.JsonFormat.readMap(JsonFormat.java:92)", "org.neo4j.server.rest.repr.RepresentationFormat.readParameterList(RepresentationFormat.java:97)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:134)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:132)", "org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)", "java.lang.Thread.run(Unknown Source)" ], "cause" : { "message" : "java.lang.String cannot be cast to java.util.Map", "exception" : "ClassCastException", "stacktrace" : [ "org.neo4j.server.rest.domain.JsonHelper.jsonToMap(JsonHelper.java:53)", "org.neo4j.server.rest.repr.formats.JsonFormat.readMap(JsonFormat.java:88)", "org.neo4j.server.rest.repr.RepresentationFormat.readParameterList(RepresentationFormat.java:97)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:134)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:132)", "org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)", "java.lang.Thread.run(Unknown Source)" ], "fullname" : "java.lang.ClassCastException" } } </code></pre> <p>I have checked that the plugin is loaded in the neo4j and its also throwing error when i do something silly, so I assume that its working. So really looking forward to see how this can be used.</p> <p><strong>EDIT:</strong> </p> <p>As suggested below here is the stack trace when I include the { } around my payload where I get <strong>500</strong> status back</p> <pre><code> { "message" : "com/tinkerpop/blueprints/impls/neo4j/Neo4jGraph", "exception" : "NoClassDefFoundError", "fullname" : "java.lang.NoClassDefFoundError", "stacktrace" : [ "org.neo4j.server.plugin.sparql.SPARQLPlugin.initSail(SPARQLPlugin.java:90)", "org.neo4j.server.plugin.sparql.SPARQLPlugin.executeInsert(SPARQLPlugin.java:113)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.plugins.PluginMethod.invoke(PluginMethod.java:61)", "org.neo4j.server.plugins.PluginManager.invoke(PluginManager.java:168)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:312)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:134)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:132)", "org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)", "java.lang.Thread.run(Unknown Source)" ], "cause" : { "message" : "com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph", "exception" : "ClassNotFoundException", "stacktrace" : [ "java.net.URLClassLoader$1.run(Unknown Source)", "java.net.URLClassLoader$1.run(Unknown Source)", "java.security.AccessController.doPrivileged(Native Method)", "java.net.URLClassLoader.findClass(Unknown Source)", "java.lang.ClassLoader.loadClass(Unknown Source)", "sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)", "java.lang.ClassLoader.loadClass(Unknown Source)", "org.neo4j.server.plugin.sparql.SPARQLPlugin.initSail(SPARQLPlugin.java:90)", "org.neo4j.server.plugin.sparql.SPARQLPlugin.executeInsert(SPARQLPlugin.java:113)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.plugins.PluginMethod.invoke(PluginMethod.java:61)", "org.neo4j.server.plugins.PluginManager.invoke(PluginManager.java:168)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:312)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:134)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:132)", "org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)", "java.lang.Thread.run(Unknown Source)" ], "fullname" : "java.lang.ClassNotFoundException" } } </code></pre> <p>I didn't include this initially assuming this to be a mistake on how I am posting the data to the endpoint.</p> <p><strong>EDIT 3</strong></p> <p>I tried to build the plugin again (using "mvn package -DskipTests" as tests were failing) this time pointing it to 2.4.0 of blueprint in the plugin pom.xml and downloaded the correct version of missing blueprints-neo4j-graph-2.4.0.jar for blueprint. after that i see a new error, but looks like its getting closer this time, may be some version mismatch again. any idea what this is? </p> <pre><code>{ "message" : "org.neo4j.kernel.impl.core.NodeManager.getGraphProperties()Lorg/neo4j/kernel/impl/core/GraphProperties;", "exception" : "NoSuchMethodError", "fullname" : "java.lang.NoSuchMethodError", "stacktrace" : [ "com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.getInternalIndexKeys(Neo4jGraph.java:235)", "com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.loadKeyIndices(Neo4jGraph.java:175)", "com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.&lt;init&gt;(Neo4jGraph.java:140)", "com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.&lt;init&gt;(Neo4jGraph.java:144)", "org.neo4j.server.plugin.sparql.SPARQLPlugin.initSail(SPARQLPlugin.java:90)", "org.neo4j.server.plugin.sparql.SPARQLPlugin.executeInsert(SPARQLPlugin.java:113)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.plugins.PluginMethod.invoke(PluginMethod.java:61)", "org.neo4j.server.plugins.PluginManager.invoke(PluginManager.java:168)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:312)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:134)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:132)", "org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)", "java.lang.Thread.run(Unknown Source)" ] } </code></pre> <p>also the Query is returning a similar error:</p> <pre><code>{ "message" : "org.neo4j.kernel.impl.core.NodeManager.getGraphProperties()Lorg/neo4j/kernel/impl/core/GraphProperties;", "exception" : "NoSuchMethodError", "fullname" : "java.lang.NoSuchMethodError", "stacktrace" : [ "com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.getInternalIndexKeys(Neo4jGraph.java:235)", "com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.loadKeyIndices(Neo4jGraph.java:175)", "com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.&lt;init&gt;(Neo4jGraph.java:140)", "com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.&lt;init&gt;(Neo4jGraph.java:144)", "org.neo4j.server.plugin.sparql.SPARQLPlugin.initSail(SPARQLPlugin.java:90)", "org.neo4j.server.plugin.sparql.SPARQLPlugin.executeSPARQL(SPARQLPlugin.java:61)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.plugins.PluginMethod.invoke(PluginMethod.java:61)", "org.neo4j.server.plugins.PluginManager.invoke(PluginManager.java:168)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:312)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:134)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:132)", "org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)", "java.lang.Thread.run(Unknown Source)" ] } </code></pre> <p>Thanks, Kiran</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload