- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Thu, 11 Nov 2004 15:30:36 +0000
- To: jos.deroo@agfa.com
- CC: public-rdf-dawg@w3.org
jos.deroo@agfa.com wrote:
> making use of the excellent service at
> http://sparql.org/query.html
>
> I asked
>
> 1/
>
> PREFIX dc: <http://purl.org/dc/elements/1.1/>
> PREFIX owl: <http://www.w3.org/2002/07/owl#>
> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> CONSTRUCT ($book rdf:type owl:Nothing) WHERE ($book dc:title $title)
Great! (sigh of relief that it worked - the log file has a warning abount the
unbound variables.
>
>
> and got result graph
>
> @prefix dc: <http://purl.org/dc/elements/1.1/> .
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
> @prefix owl: <http://www.w3.org/2002/07/owl#> .
>
> <http://example.org/book/book2>
> a owl:Nothing .
>
> <http://example.org/book/book4>
> a owl:Nothing .
>
> <http://example.org/book/book1>
> a owl:Nothing .
>
> <http://example.org/book/book5>
> a owl:Nothing .
>
> <http://example.org/book/book3>
> a owl:Nothing .
>
>
> which is inconsistent and that is because the query
> (when seen as rule) is inconsistent.
There isn't an OWL processor behind the data so you only get the RDF-isms.
>
>
> 2/
>
> PREFIX dc: <http://purl.org/dc/elements/1.1/>
> PREFIX owl: <http://www.w3.org/2002/07/owl#>
> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> CONSTRUCT ($book dc:title $test) WHERE ($book dc:title $title)
>
>
> and got empty result graph
Yes - I made the arbitrary-at-the-time decision that unbound variables are an
error. The code isn't fixed - may it should stop the whole substitution for
that query solution and and I think I only stop the triple.
Tries ...
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX : <http://www.example.org/>
CONSTRUCT ($book dc:title $test) ($book rdf:type :book)
WHERE ($book dc:title $title)
and gets ...
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <http://www.example.org/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
<http://example.org/book/book2>
a :book .
<http://example.org/book/book4>
a :book .
<http://example.org/book/book1>
a :book .
<http://example.org/book/book5>
a :book .
<http://example.org/book/book3>
a :book .
Yep - I'll do whatever the WG decides.
>
> My implementation actually returns
> :Paper :authorName ?test.
>
> which is because we made it so to return
> substitution results (constructed as RDF graph)
> for unbound variables (e.g. in the case of OR
> or OPTIONAL)
That would require returning query variables which can't be expressed in RDF (or
we have to have a DAWG-convention) but I see nothing to stop that being done at
the practical level. I look for guidance on the theoretical level.
>
> But I can understand the returning of the empty graph
> as it is according to my understanding that the proof
> result atoms should be in the Herbrand base of the
> query formula.
>
> (Herbrand Base is the set of all ground atoms that can
> be formed from predicate symbols from a clause in Skolemized
> form S and terms from the Herbrand universe H of S.
> Herbrand universe of S is the set of all closed terms
> constructed from the constant and function symbols of S)
>
>
That would suggest that my test case should create the (?book rdf:type :book)
triples even when ?test is unbound - have I got this right?
Andy
Received on Thursday, 11 November 2004 15:31:30 UTC