Skip to content
This repository has been archived by the owner on Apr 3, 2019. It is now read-only.

NoSuchMethodError on execute_sparql #10

Open
maciej-gol opened this issue Mar 24, 2014 · 1 comment
Open

NoSuchMethodError on execute_sparql #10

maciej-gol opened this issue Mar 24, 2014 · 1 comment

Comments

@maciej-gol
Copy link

Hey,

I'm using Neo4j Community 2.0.1 with plugin at cc8790e and I'm getting an error whilst trying to do a sparql query that's in the docs : SELECT ?x ?y WHERE { ?x <http://neo4j.org#knows> ?y . }

import requests
import json

data = json.dumps({
    'query': 'SELECT ?x ?y WHERE { ?x <http://neo4j.org#knows> ?y . }',
})

headers = {
    'accept': 'application/json',
    'content-type': 'application/json',
}

resp = requests.post('http://localhost:7474/db/data/ext/SPARQLPlugin/graphdb/execute_sparql', data=data, headers=headers')

resp.status_code
>>> 500

resp.json()
>>> {u'exception': u'NoSuchMethodError',
 u'fullname': u'java.lang.NoSuchMethodError',
 u'message': u'org.openrdf.query.algebra.Var.setConstant(Z)V',
 u'stacktrace': [u'org.openrdf.query.parser.sparql.TupleExprBuilder.createConstVar(TupleExprBuilder.java:340)',
  u'org.openrdf.query.parser.sparql.TupleExprBuilder.mapValueExprToVar(TupleExprBuilder.java:271)',
  u'org.openrdf.query.parser.sparql.TupleExprBuilder.visit(TupleExprBuilder.java:1512)',
  u'org.openrdf.query.parser.sparql.ast.ASTPathSequence.jjtAccept(ASTPathSequence.java:20)',
  u'org.openrdf.query.parser.sparql.TupleExprBuilder.visit(TupleExprBuilder.java:1323)',
  u'org.openrdf.query.parser.sparql.ast.ASTPathAlternative.jjtAccept(ASTPathAlternative.java:18)',
  u'org.openrdf.query.parser.sparql.TupleExprBuilder.visit(TupleExprBuilder.java:1875)',
  u'org.openrdf.query.parser.sparql.ast.ASTPropertyListPath.jjtAccept(ASTPropertyListPath.java:18)',
  u'org.openrdf.query.parser.sparql.ast.SimpleNode.childrenAccept(SimpleNode.java:157)',
  u'org.openrdf.query.parser.sparql.ASTVisitorBase.visit(ASTVisitorBase.java:979)',
  u'org.openrdf.query.parser.sparql.ast.ASTTriplesSameSubjectPath.jjtAccept(ASTTriplesSameSubjectPath.java:18)',
  u'org.openrdf.query.parser.sparql.ast.SimpleNode.childrenAccept(SimpleNode.java:157)',
  u'org.openrdf.query.parser.sparql.ASTVisitorBase.visit(ASTVisitorBase.java:421)',
  u'org.openrdf.query.parser.sparql.ast.ASTBasicGraphPattern.jjtAccept(ASTBasicGraphPattern.java:19)',
  u'org.openrdf.query.parser.sparql.TupleExprBuilder.visit(TupleExprBuilder.java:1144)',
  u'org.openrdf.query.parser.sparql.ast.ASTGraphPatternGroup.jjtAccept(ASTGraphPatternGroup.java:19)',
  u'org.openrdf.query.parser.sparql.ast.SimpleNode.childrenAccept(SimpleNode.java:157)',
  u'org.openrdf.query.parser.sparql.ASTVisitorBase.visit(ASTVisitorBase.java:1021)',
  u'org.openrdf.query.parser.sparql.ast.ASTWhereClause.jjtAccept(ASTWhereClause.java:19)',
  u'org.openrdf.query.parser.sparql.TupleExprBuilder.visit(TupleExprBuilder.java:389)',
  u'org.openrdf.query.parser.sparql.TupleExprBuilder.visit(TupleExprBuilder.java:228)',
  u'org.openrdf.query.parser.sparql.ast.ASTSelectQuery.jjtAccept(ASTSelectQuery.java:19)',
  u'org.openrdf.query.parser.sparql.TupleExprBuilder.visit(TupleExprBuilder.java:378)',
  u'org.openrdf.query.parser.sparql.TupleExprBuilder.visit(TupleExprBuilder.java:228)',
  u'org.openrdf.query.parser.sparql.ast.ASTQueryContainer.jjtAccept(ASTQueryContainer.java:21)',
  u'org.openrdf.query.parser.sparql.SPARQLParser.buildQueryModel(SPARQLParser.java:210)',
  u'org.openrdf.query.parser.sparql.SPARQLParser.parseQuery(SPARQLParser.java:164)',
  u'org.neo4j.server.plugin.sparql.SPARQLPlugin.executeSPARQL(SPARQLPlugin.java:68)',
  u'java.lang.reflect.Method.invoke(Method.java:606)',
  u'org.neo4j.server.plugins.PluginMethod.invoke(PluginMethod.java:61)',
  u'org.neo4j.server.plugins.PluginManager.invoke(PluginManager.java:168)',
  u'org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:312)',
  u'org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:134)',
  u'java.lang.reflect.Method.invoke(Method.java:606)',
  u'org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:139)',
  u'org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)',
  u'java.lang.Thread.run(Thread.java:744)']}
@rene-rex
Copy link

Hi,

I had the same issue and solved it by modifying two dependencies in the pom.xml. First, we need a recent version of Sesame, which has "org.openrdf.query.algebra.Var.setConstant":

<sesame.version>2.7.10</sesame.version>

Next, I got an error about something missing in commons-io. Fix it by adding:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

Then "mvn package -DskipTests" builds a working package and the examples given in the docs work, too.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants