Re: how does existing RDF software handle this datatypes test?

In rdfql:

Query:
================================================================
namespace [http://purl.org/dc/elements/1.1/] is dc
namespace [http://example/vocab#] is ex

connect
[inet?url=http://www.w3.org/2000/10/swap/test/dt10-premise.rdf&parsetype=rdf
] as ds

select ?b using ds where {[dc:title] ?a ?x} and {[ex:age] ?b ?x}



Results:
===========================================================
b
-----------------------------------------------------------
[http://www.w3.org/2000/10/swap/test/dt10-premise.rdf#mary]

command returned 1 records





Of course, things could be changed to support non-tidy literals and then I
suppose you'd have to do something like:

select ?b using #s where {[dc:title] ?a ?x} and {[ex:age] ?b ?y} and
labelof(?x) = labelof(?y)

...similar to what you'd need to if you wanted to if you wanted to bind case
insensitively today.

or else have some form of identity rules like:

infer {[xx:isSameAs] ?a ?b} from {[rdf:type] ?a ?t} and {[rdf:type] ?b ?t}
and ?t<>[rdfs:Literal] and labelof(?a)=labelof(?b)

infer {?p ?s ?a} from {?p ?s ?b} and {[xxx:isSameAs] ?a ?b}

then:

select ?b using ds where {[dc:title] ?a ?x} and {[ex:age] ?b ?y}

would return a value if the range of dc:title and ex:age happened to be the
same.

--Geoff Chappell






----- Original Message -----
From: "Dan Connolly" <connolly@w3.org>
To: "RDF Interest" <www-rdf-interest@w3.org>; "RDF Logic"
<www-rdf-logic@w3.org>
Sent: Wednesday, January 30, 2002 12:03 PM
Subject: how does existing RDF software handle this datatypes test?


> There's a lot to read about TDL and S,
> http://lists.w3.org/Archives/Public/www-rdf-interest/2002Jan/0164.html
> but I think it can be summarized with the following
> test case. If you develop (or use) any RDF software,
> please try it out on this test case and report
> your findings.
>
> Consider this RDF document:
>
> <rdf:RDF
> xmlns="file:/home/connolly/w3ccvs/WWW/2000/10/swap/test/dt10-premise.n3#"
>     xmlns:dc="http://purl.org/dc/elements/1.1/"
>     xmlns:ex="http://example/vocab#"
>     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
>
>     <rdf:Description>
>         <rdf:type rdf:resource="#Film"/>
>         <dc:title>10</dc:title>
>     </rdf:Description>
>
>     <rdf:Description rdf:about="#mary">
>         <ex:age>10</ex:age>
>     </rdf:Description>
> </rdf:RDF>
>
> If you read RDF/N3, and you don't mind some ommitted
> prefix declarations, you might find this short version
> easier to grok:
>   _:f rdf:type <#Film> .
>   _:f dc:title "10" .
>   <#mary> ex:age "10" .
>
> Suppose I asked you:
> does that document say that
> there's something with a dc:title?
> I hope you'd say: yes, of course.
> Now... suppose I ask:
> whatever that title is, let's call it X.
> Does that document also say that there's
> something with ex:age of that same X?
>
> If you have any sort of RDF API or query language or
> any sort of software in which this question can be posed,
> would you please ask your implementation and tell
> us its answer right now?
>
> [[for those of you that have followed the (unapproved)
> entailment test work,
>   http://www.w3.org/2000/10/rdf-tests/rdfcore/#not_approved
> you can use this as an entailment test:
> premise:
>   http://www.w3.org/2000/10/swap/test/dt10-premise.rdf
> conclusion:
>   http://www.w3.org/2000/10/swap/test/dt10-conc.nt
>
> If you use cwm, you can use this test-driver:
>   cwm http://www.w3.org/2000/10/swap/test/datatype10.n3 --think
> ]]
>
> The TDL position (as I understand it) is: no...
> That document doesn't say that Mary's age is
> the same as the Film's title. There's probably
> a range constraint on ex:age that says it's
> an integer; not a numeral, but a real integer.
> The film's title is probably a numeral.
> There are certainly interpretations in which
> they denote different things; hence the conclusion
> is not valid.
>
> The S position is: yes, that document says
> mary's age is "10" and the Film's title is "10".
> The conclusion is valid in all interpretations.
> The range of the age property is most likely
> a numeral, not a number. If you want an age
> property whose range is a number, you can have
> that, but it's a distinct property; let's
> say exV:age. and you need to write:
>
> <ex:age rdfdt:decimal="10"/>
>
> where rdfdt:decimal expands to the name we
> choose for the mapping from decimal values
> to decimal literals.
>
> ACKS: Sergey made up this example.
> http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Jan/0293.html
> or... hmm... that's not quite the same...
> maybe Brian made up this example. Anyway...
> I got the gist of the test case from
> somebody else.
>
> --
> Dan Connolly, W3C http://www.w3.org/People/Connolly/
>

Received on Wednesday, 30 January 2002 16:48:45 UTC