o***@wellsfargo.com
2016-10-31 06:24:10 UTC
Hi - I'm trying to use the JDBC driver with Teiid in a JBoss environment.
I have a query that will execute fine (redacted)
prefix example: <http://semanticweb.com/entity#>
select DISTINCT *
{?a example:hasName ?b . } LIMIT 100
But when I add a filter as below, it breaks with java.lang.NoClassDefFoundError: Could not initialize class org.apache.jena.sparql.expr.NodeValue
prefix example: <http://semanticweb.com/entity#>
select DISTINCT *
{?a example:hasName ?b . FILTER regex(?b, "value", "i") } LIMIT 100
It's interesting how I can make queries without a FILTER clause, it doesn't seem to be syntax, but I could be mistaken?
Caused by: java.sql.SQLException: Not a valid SPARQL query/update
at org.apache.jena.jdbc.statements.JenaStatement.execute(JenaStatement.java:273)
at org.jboss.jca.adapters.jdbc.WrappedStatement.execute(WrappedStatement.java:182)
at org.teiid.translator.jdbc.JDBCDirectQueryExecution.execute(JDBCDirectQueryExecution.java:83)
... 17 more
Caused by: org.apache.jena.query.QueryParseException: Could not initialize class org.apache.jena.sparql.expr.NodeValue
at org.apache.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:118)
at org.apache.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:52)
at org.apache.jena.sparql.lang.SPARQLParser.parse(SPARQLParser.java:34)
at org.apache.jena.query.QueryFactory.parse(QueryFactory.java:147)
at org.apache.jena.query.QueryFactory.create(QueryFactory.java:79)
at org.apache.jena.query.QueryFactory.create(QueryFactory.java:52)
at org.apache.jena.query.QueryFactory.create(QueryFactory.java:40)
at org.apache.jena.jdbc.statements.JenaStatement.execute(JenaStatement.java:266)
... 19 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.jena.sparql.expr.NodeValue
at org.apache.jena.sparql.util.ExprUtils.nodeToExpr(ExprUtils.java:56)
at org.apache.jena.sparql.lang.ParserBase.asExpr(ParserBase.java:410)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.PrimaryExpression(SPARQLParser11.java:3865)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.UnaryExpression(SPARQLParser11.java:3772)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.MultiplicativeExpression(SPARQLParser11.java:3639)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.AdditiveExpression(SPARQLParser11.java:3537)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.NumericExpression(SPARQLParser11.java:3530)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.RelationalExpression(SPARQLParser11.java:3490)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.ValueLogical(SPARQLParser11.java:3455)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.ConditionalAndExpression(SPARQLParser11.java:3434)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.ConditionalOrExpression(SPARQLParser11.java:3413)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.Expression(SPARQLParser11.java:3406)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.BrackettedExpression(SPARQLParser11.java:3900)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.Constraint(SPARQLParser11.java:2177)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.Filter(SPARQLParser11.java:2168)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.GraphPatternNotTriples(SPARQLParser11.java:1856)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.GroupGraphPatternSub(SPARQLParser11.java:1738)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.GroupGraphPattern(SPARQLParser11.java:1675)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.WhereClause(SPARQLParser11.java:431)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.SelectQuery(SPARQLParser11.java:124)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.Query(SPARQLParser11.java:29)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.QueryUnit(SPARQLParser11.java:20)
at org.apache.jena.sparql.lang.ParserSPARQL11$1.exec(ParserSPARQL11.java:48)
at org.apache.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:97)
... 26 more
My Teiid module.xml definition is below, maybe I'm missing a class ? Seems like I am from the message, but I couldn't find the class.
(I also did try the : jena-jdbc-driver-bundle-3.1.0.jar without the individual declares but same behavior)
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.apache.jena">
<resources>
<resource-root path="jena-jdbc-core-3.1.0.jar"/>
<resource-root path="jena-jdbc-driver-remote-3.1.0.jar"/>
<resource-root path="jena-arq-3.1.0.jar"/>
<resource-root path="jena-core-3.1.0.jar"/>
<resource-root path="jena-base-3.1.0.jar"/>
<resource-root path="jena-cmds-3.1.0.jar"/>
<resource-root path="jena-shaded-guava-3.1.0.jar"/>
<resource-root path="log4j-1.2.17.jar"/>
<resource-root path="slf4j-api-1.7.20.jar"/>
<resource-root path="slf4j-log4j12-1.7.20.jar"/>
<resource-root path="xml-apis-1.4.01.jar"/>
<resource-root path="xercesImpl-2.11.0.jar"/>
<resource-root path="jena-iri-3.1.0.jar"/>
<resource-root path="httpcore-4.2.5.jar"/>
<resource-root path="httpclient-4.2.6.jar"/>
<resource-root path="httpclient-cache-4.2.6.jar"/>
<resource-root path="commons-io-2.4.jar"/>
<resource-root path="commons-cli-1.3.jar"/>
<resource-root path="commons-lang3-3.3.2.jar"/>
<resource-root path="commons-codec-1.9.jar"/>
<resource-root path="commons-csv-1.0.jar"/>
<resource-root path="collection-0.6.jar"/>
<resource-root path="jcl-over-slf4j-1.7.20.jar"/>
<resource-root path="jackson-annotations-2.3.0.jar"/>
<resource-root path="jackson-core-2.3.3.jar"/>
<resource-root path="jackson-databind-2.3.3.jar"/>
<resource-root path="libthrift-0.9.2.jar"/>
<resource-root path="jsonld-java-0.7.0.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
I have a query that will execute fine (redacted)
prefix example: <http://semanticweb.com/entity#>
select DISTINCT *
{?a example:hasName ?b . } LIMIT 100
But when I add a filter as below, it breaks with java.lang.NoClassDefFoundError: Could not initialize class org.apache.jena.sparql.expr.NodeValue
prefix example: <http://semanticweb.com/entity#>
select DISTINCT *
{?a example:hasName ?b . FILTER regex(?b, "value", "i") } LIMIT 100
It's interesting how I can make queries without a FILTER clause, it doesn't seem to be syntax, but I could be mistaken?
Caused by: java.sql.SQLException: Not a valid SPARQL query/update
at org.apache.jena.jdbc.statements.JenaStatement.execute(JenaStatement.java:273)
at org.jboss.jca.adapters.jdbc.WrappedStatement.execute(WrappedStatement.java:182)
at org.teiid.translator.jdbc.JDBCDirectQueryExecution.execute(JDBCDirectQueryExecution.java:83)
... 17 more
Caused by: org.apache.jena.query.QueryParseException: Could not initialize class org.apache.jena.sparql.expr.NodeValue
at org.apache.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:118)
at org.apache.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:52)
at org.apache.jena.sparql.lang.SPARQLParser.parse(SPARQLParser.java:34)
at org.apache.jena.query.QueryFactory.parse(QueryFactory.java:147)
at org.apache.jena.query.QueryFactory.create(QueryFactory.java:79)
at org.apache.jena.query.QueryFactory.create(QueryFactory.java:52)
at org.apache.jena.query.QueryFactory.create(QueryFactory.java:40)
at org.apache.jena.jdbc.statements.JenaStatement.execute(JenaStatement.java:266)
... 19 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.jena.sparql.expr.NodeValue
at org.apache.jena.sparql.util.ExprUtils.nodeToExpr(ExprUtils.java:56)
at org.apache.jena.sparql.lang.ParserBase.asExpr(ParserBase.java:410)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.PrimaryExpression(SPARQLParser11.java:3865)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.UnaryExpression(SPARQLParser11.java:3772)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.MultiplicativeExpression(SPARQLParser11.java:3639)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.AdditiveExpression(SPARQLParser11.java:3537)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.NumericExpression(SPARQLParser11.java:3530)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.RelationalExpression(SPARQLParser11.java:3490)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.ValueLogical(SPARQLParser11.java:3455)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.ConditionalAndExpression(SPARQLParser11.java:3434)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.ConditionalOrExpression(SPARQLParser11.java:3413)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.Expression(SPARQLParser11.java:3406)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.BrackettedExpression(SPARQLParser11.java:3900)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.Constraint(SPARQLParser11.java:2177)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.Filter(SPARQLParser11.java:2168)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.GraphPatternNotTriples(SPARQLParser11.java:1856)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.GroupGraphPatternSub(SPARQLParser11.java:1738)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.GroupGraphPattern(SPARQLParser11.java:1675)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.WhereClause(SPARQLParser11.java:431)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.SelectQuery(SPARQLParser11.java:124)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.Query(SPARQLParser11.java:29)
at org.apache.jena.sparql.lang.sparql_11.SPARQLParser11.QueryUnit(SPARQLParser11.java:20)
at org.apache.jena.sparql.lang.ParserSPARQL11$1.exec(ParserSPARQL11.java:48)
at org.apache.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:97)
... 26 more
My Teiid module.xml definition is below, maybe I'm missing a class ? Seems like I am from the message, but I couldn't find the class.
(I also did try the : jena-jdbc-driver-bundle-3.1.0.jar without the individual declares but same behavior)
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.apache.jena">
<resources>
<resource-root path="jena-jdbc-core-3.1.0.jar"/>
<resource-root path="jena-jdbc-driver-remote-3.1.0.jar"/>
<resource-root path="jena-arq-3.1.0.jar"/>
<resource-root path="jena-core-3.1.0.jar"/>
<resource-root path="jena-base-3.1.0.jar"/>
<resource-root path="jena-cmds-3.1.0.jar"/>
<resource-root path="jena-shaded-guava-3.1.0.jar"/>
<resource-root path="log4j-1.2.17.jar"/>
<resource-root path="slf4j-api-1.7.20.jar"/>
<resource-root path="slf4j-log4j12-1.7.20.jar"/>
<resource-root path="xml-apis-1.4.01.jar"/>
<resource-root path="xercesImpl-2.11.0.jar"/>
<resource-root path="jena-iri-3.1.0.jar"/>
<resource-root path="httpcore-4.2.5.jar"/>
<resource-root path="httpclient-4.2.6.jar"/>
<resource-root path="httpclient-cache-4.2.6.jar"/>
<resource-root path="commons-io-2.4.jar"/>
<resource-root path="commons-cli-1.3.jar"/>
<resource-root path="commons-lang3-3.3.2.jar"/>
<resource-root path="commons-codec-1.9.jar"/>
<resource-root path="commons-csv-1.0.jar"/>
<resource-root path="collection-0.6.jar"/>
<resource-root path="jcl-over-slf4j-1.7.20.jar"/>
<resource-root path="jackson-annotations-2.3.0.jar"/>
<resource-root path="jackson-core-2.3.3.jar"/>
<resource-root path="jackson-databind-2.3.3.jar"/>
<resource-root path="libthrift-0.9.2.jar"/>
<resource-root path="jsonld-java-0.7.0.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>