Hi,

We are trying to ask a remote marmotta 3.3.0 triplestore using sparql
requests. In order to do that, we tried to use kiwi-triplestore and
kiwi-sparql to get connection.

However,when we retieved the kiwi-triplestore 3.3.0 version, eclipse found
an error in KiWiConnection class. It seems that the
createCachKey function in LiteralsCommons class ask a Local type parameter
instead of a null parameter cast into string which is used.

We also noticed that when we try to send a sparql request with clauses like
PREFIX, we get a NullPointerException in SQLBuilder.buildWhereClause() from
kiwi-sparql. In fact when the program try to retrieve SQLVariable sv from
variables attribute, it ask for a key like "-const-2" which does not exist.
I tried to add test on sv to execute the rest of the code only when sv is
not null and it seems to solve the problem.

Are these problems come from code errors or did we make mistakes when we
retieved the project?

When we try to execute the following sparql request, we also got an error.
Do you have any idea of the problem source?

PREFIX webdrone:<url>
PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT *
FROM <graph>
WHERE {
{?a rdf:type webdrone:typeA1 .} UNION {?a rdf:type  webdrone:typeA2 .}
OPTIONAL { ?a webdrone:prop1 ?att1 . }
OPTIONAL { ?a webdrone:prop2 ?b . }
FILTER NOT EXISTS { ?a webdrone:prop3 webdrone:att3 . } .
OPTIONAL { ?a webdrone:prop4 ?att4a . }
OPTIONAL { ?b webdrone:prop4 ?att4b . }
FILTER((!bound(?att4a) || ?att4a !=\"false\"^^xsd:boolean) &&
(!bound(?att4b) || ?att4b !=\"false\"^^xsd:boolean))
}


org.openrdf.query.QueryEvaluationException:
org.postgresql.util.PSQLException: ERREUR: erreur de syntaxe sur ou près de
« FROM »
  Position : 889
at
org.openrdf.repository.sail.SailTupleQuery.evaluate(SailTupleQuery.java:67)
at
fr.webdrone.api.db.triplestore.dao.TestKiWiSparql.execSelectSparql(TestKiWiSparql.java:152)
at
fr.webdrone.api.db.triplestore.dao.TestKiWiSparql.main(TestKiWiSparql.java:84)
Caused by: org.openrdf.sail.SailException:
org.postgresql.util.PSQLException: ERREUR: erreur de syntaxe sur ou près de
« FROM »
  Position : 889
at
org.apache.marmotta.kiwi.sparql.sail.KiWiSparqlSailConnection.evaluate(KiWiSparqlSailConnection.java:96)
at
org.openrdf.repository.sail.SailTupleQuery.evaluate(SailTupleQuery.java:60)
... 2 more
Caused by: org.openrdf.query.QueryEvaluationException:
org.postgresql.util.PSQLException: ERREUR: erreur de syntaxe sur ou près de
« FROM »
  Position : 889
at
org.apache.marmotta.kiwi.sparql.evaluation.KiWiEvaluationStrategyImpl.evaluateNative(KiWiEvaluationStrategyImpl.java:222)
at
org.apache.marmotta.kiwi.sparql.evaluation.KiWiEvaluationStrategyImpl.evaluate(KiWiEvaluationStrategyImpl.java:178)
at
org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:583)
at
org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:197)
at
org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:662)
at
org.apache.marmotta.kiwi.sparql.evaluation.KiWiEvaluationStrategyImpl.evaluate(KiWiEvaluationStrategyImpl.java:123)
at
org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:577)
at
org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:197)
at
org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:607)
at
org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl.evaluate(EvaluationStrategyImpl.java:197)
at
org.apache.marmotta.kiwi.sparql.sail.KiWiSparqlSailConnection.evaluate(KiWiSparqlSailConnection.java:93)
... 3 more
Caused by: org.postgresql.util.PSQLException: ERREUR: erreur de syntaxe sur
ou près de « FROM »
  Position : 889
at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:560)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
at
org.apache.marmotta.kiwi.sparql.persistence.KiWiSparqlConnection$1.call(KiWiSparqlConnection.java:101)
at
org.apache.marmotta.kiwi.sparql.persistence.KiWiSparqlConnection$1.call(KiWiSparqlConnection.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:744)

Regards,

Lucas WAGNER

Reply via email to