Dear Hasan,
On 2/6/12 1:51 PM, Hasan Hasan wrote:
I think the problem is that the engine tries to find triples where the
subject is a Literal and it cannot convert the literal matched in the first
pattern to a NonLiteral. According to RDF specification [1], a subject can
only be a NonLiteral.
I know that. The problem is that I would expect an engine to just
discard that triple, stop trying to build results on top of that
Resource and proceed with other triples, rather than just fail on the
whole query.
But perhaps I made a wrong assumption where in fact SPARQL is not
supposed to be fail-safe on this type of queries?
Maybe exchanging the sequence of the pattern can help (not sure):
SELECT ?r0 ?x0 ?r1
WHERE {
?x0 ?r1<
http://semanticweb.org/dumps/things/alcazar-food-fun-and-music-in-paris> .
<http://semanticweb.org/dumps/people/teddypolar> ?r0 ?x0 .
}
I will try out your suggestion, but the thing is: if my query works, I
was planning to build a union query with backward paths too...
All the best,
Alessandro
On Tue, Jan 31, 2012 at 12:12 PM, Alessandro Adamou<[email protected]>wrote:
Hi, I tried to execute this query - path of length 2 - on a partial dump
of Revyu, using a JenaSparqlEngine registered with QueryParser:
SELECT ?r0 ?x0 ?r1
WHERE {
<http://semanticweb.org/dumps/**people/teddypolar<http://semanticweb.org/dumps/people/teddypolar>>
?r0 ?x0 .
?x0 ?r1<http://semanticweb.org/dumps/**things/alcazar-food-fun-and-**
music-in-paris<http://semanticweb.org/dumps/things/alcazar-food-fun-and-music-in-paris>
}
and got the RuntimeException whose partial trace is attached at the end of
this message:
java.lang.RuntimeException: cannot convert "**
dcc31c09026e5a3aee0b63cb44a07f**f8a76d1449" to NonLiteral
Indeed it is because the value "**dcc31c09026e5a3aee0b63cb44a07f**f8a76d1449"
(for ?x0) is an untyped literal, so no paths con be constructed there.
Still I hoped datatype and annotation assertions would be skipped instead
of throwing exceptions.
So I thought I could just make the second step in the path OPTIONAL -
after all I need shorter paths too - like this:
SELECT ?r0 ?x0 ?r1
WHERE {
<http://semanticweb.org/dumps/**people/teddypolar<http://semanticweb.org/dumps/people/teddypolar>>
?r0 ?x0
OPTIONAL {
?x0 ?r1<http://semanticweb.org/dumps/**things/alcazar-food-fun-and-**
music-in-paris<http://semanticweb.org/dumps/things/alcazar-food-fun-and-music-in-paris>
}
}
... but I just get the same exception.
This very same query (with OPTIONAL) on other SPARQL engines, such as the
TopBraid Composer one, terminates and delivers the expected results.
Is there a clue as to how this query can be executed "safely", without
forcing conversion of literals?
Thanks!
Alessandro
------- EXCEPTION TRACE FOLLOWS --------
java.lang.RuntimeException: cannot convert "**
dcc31c09026e5a3aee0b63cb44a07f**f8a76d1449" to NonLiteral
at org.apache.clerezza.rdf.jena.**commons.Jena2TriaUtil.**
convertNonLiteral(**Jena2TriaUtil.java:127)
at org.apache.clerezza.rdf.jena.**facade.JenaGraph.filter(**
JenaGraph.java:123)
at org.apache.clerezza.rdf.jena.**facade.JenaGraph.**
graphBaseFind(JenaGraph.java:**151)
at com.hp.hpl.jena.graph.impl.**GraphBase.find(GraphBase.java:**
240)
at com.hp.hpl.jena.graph.impl.**GraphBase.graphBaseFind(**
GraphBase.java:260)
at com.hp.hpl.jena.graph.impl.**GraphBase.find(GraphBase.java:**
257)
at com.hp.hpl.jena.sparql.engine.**iterator.**
QueryIterTriplePattern$**TripleMapper.<init>(**
QueryIterTriplePattern.java:**67)
at com.hp.hpl.jena.sparql.engine.**iterator.**
QueryIterTriplePattern.**nextStage(**QueryIterTriplePattern.java:**41)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIterRepeatApply.**
makeNextStage(**QueryIterRepeatApply.java:91)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIterRepeatApply.**
hasNextBinding(**QueryIterRepeatApply.java:52)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIteratorBase.**
hasNext(QueryIteratorBase.**java:66)
at com.hp.hpl.jena.sparql.engine.**iterator.**
QueryIterBlockTriples.**hasNextBinding(**QueryIterBlockTriples.java:53)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIteratorBase.**
hasNext(QueryIteratorBase.**java:66)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIterDefaulting.**
hasNextBinding(**QueryIterDefaulting.java:43)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIteratorBase.**
hasNext(QueryIteratorBase.**java:66)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIterRepeatApply.**
hasNextBinding(**QueryIterRepeatApply.java:57)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIteratorBase.**
hasNext(QueryIteratorBase.**java:66)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIterConvert.**
hasNextBinding(**QueryIterConvert.java:49)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIteratorBase.**
hasNext(QueryIteratorBase.**java:66)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIteratorWrapper.**
hasNextBinding(**QueryIteratorWrapper.java:28)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIteratorBase.**
hasNext(QueryIteratorBase.**java:66)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIteratorWrapper.**
hasNextBinding(**QueryIteratorWrapper.java:28)
at com.hp.hpl.jena.sparql.engine.**iterator.QueryIteratorBase.**
hasNext(QueryIteratorBase.**java:66)
at com.hp.hpl.jena.sparql.engine.**ResultSetStream.hasNext(**
ResultSetStream.java:57)
at org.apache.clerezza.rdf.jena.**sparql.ResultSetWrapper.<init>**
(ResultSetWrapper.java:39)
at org.apache.clerezza.rdf.jena.**sparql.JenaSparqlEngine.**
execute(JenaSparqlEngine.java:**68)
at org.apache.clerezza.rdf.core.**access.TcManager.**
executeSparqlQuery(TcManager.**java:272)
--
M.Sc. Alessandro Adamou
Alma Mater Studiorum - Università di Bologna
Department of Computer Science
Mura Anteo Zamboni 7, 40127 Bologna - Italy
Semantic Technology Laboratory (STLab)
Institute for Cognitive Science and Technology (ISTC)
National Research Council (CNR)
Via Nomentana 56, 00161 Rome - Italy
"As for the charges against me, I am unconcerned. I am beyond their timid,
lying morality, and so I am beyond caring."
(Col. Walter E. Kurtz)
Not sent from my iSnobTechDevice
--
M.Sc. Alessandro Adamou
Alma Mater Studiorum - Università di Bologna
Department of Computer Science
Mura Anteo Zamboni 7, 40127 Bologna - Italy
Semantic Technology Laboratory (STLab)
Institute for Cognitive Science and Technology (ISTC)
National Research Council (CNR)
Via Nomentana 56, 00161 Rome - Italy
"As for the charges against me, I am unconcerned. I am beyond their timid,
lying morality, and so I am beyond caring."
(Col. Walter E. Kurtz)
Not sent from my iSnobTechDevice
--
M.Sc. Alessandro Adamou
Alma Mater Studiorum - Università di Bologna
Department of Computer Science
Mura Anteo Zamboni 7, 40127 Bologna - Italy
Semantic Technology Laboratory (STLab)
Institute for Cognitive Science and Technology (ISTC)
National Research Council (CNR)
Via Nomentana 56, 00161 Rome - Italy
"As for the charges against me, I am unconcerned. I am beyond their timid, lying
morality, and so I am beyond caring."
(Col. Walter E. Kurtz)
Not sent from my iSnobTechDevice