Re: Latest iteration of RDF Datatyping WD (ship it!)

>>>> this sounds like a union...
>>>> and I don't see that as explained in
>>>> http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Mar/0151.html
>>>> and as I still think we should have
>>>>   rdfd:range rdfs:subPropertyOf rdfs:range .
>>>
>>> I would not recommend that. That would re-introduce all the
>>> range-inheritance problems assocaited with datatyping. The basic idea
>>> of the current proposal is to keep range-assignment (ie rdfs:Range)
>>> and datatyping (rdfd:Range) quite separate, so you can have either
>>> one without the other (or both if you choose to). That is the only
>>> way I can see to allow the kind of Dublin-Core sloppiness in a
>>> rational framework.
>>
>> agreed, we currently have something like
>>
>> http://www.agfa.com/w3c/euler/rdfd-rules.n3
>
> Right. Though, not meaning to shake things up... ;-)

no problem Patrick ;-)

> Rules 2, 3, 5a, and 5b in the above have been removed in
> the latest draft and a new rule added (see below).
>
> Rule 3 above follows from the rdfs:range of
> rdfd:datatype defined in Rule 0, and thus is
> unnecessary.

Right, that's true

> Rules 2, 5a and 5b have been removed. Both because they
> are unnecessary insofar as the datatyping interpretation
> is concerned and also because while all three idioms
> may all identify the same datatyped literal pairing,
> they do not have identical meaning.
>
> It is similar to the well known "morning star" versus
> "evening star" example, where both identify the same thing
> but do not really have identical meaning. One idiom thus
> does not imply another idiom as their total meaning will
> not be the same.
>
> The present rules, as defined in the current revision of
> the WD are:
>
> --
>
> ### rules for RDFD entailment
>
> @prefix log: <http://www.w3.org/2000/10/swap/log#> .
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
> @prefix rdfd: <http://www.w3.org/2002/rdf-datatyping#> .
> @prefix : <rdfd-rules#> .
>
> # :rule0 (same as before)
>
> rdfd:Datatype a rdfs:Class;
>    rdfs:subClassOf rdf:Property .
>
> rdfd:datatype a rdf:Property;
>    rdfs:domain rdf:Property;
>    rdfs:range rdfd:Datatype.
>
> rdfd:lex a rdf:Property;
>    rdfs:domain rdfs:Resource;
>    rdfs:range rdfs:Literal .
>
> {
>    :rule1 .
>    ?d a rdfd:Datatype
> }
> log:implies
> {
>    ?d rdfs:domain ?d ;
>       rdfs:subPropertyOf rdfd:lex  # added this
> } .
>
> {
>    :rule2 .  # in addition to above, addresses type
>              # inferences for blank node values
>    ?p rdfd:datatype ?d .
>    ?s ?p ?o .
>    ?o rdfd:lex ?l
> }
> log:implies
> {
>    ?o rdf:type ?d
> } .
>
> --
>
> How do those work? ;-)

I've found

### rules for RDFD entailment

@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdfd: <http://www.w3.org/2002/rdf-datatyping#> .
@prefix : <rdfd-rules#> .

rdfd:Datatype a rdfs:Class; rdfs:subClassOf rdf:Property .
rdfd:datatype a rdf:Property; rdfs:domain rdf:Property; rdfs:range rdfd:Datatype.
rdfd:lex a rdf:Property; rdfs:domain rdfs:Resource; rdfs:range rdfs:Literal .

{ :rule1a . ?d a rdfd:Datatype } log:implies { ?d rdfs:domain ?d } .
{ :rule1b . ?d a rdfd:Datatype } log:implies { ?d rdfs:subPropertyOf rdfd:lex } .
{ :rule2a . ?p rdfd:datatype ?d . ?s ?p ?o . ?o rdfd:lex ?l } log:implies { ?o a ?d } .
{ :rule2b . ?p rdfd:datatype ?d . ?s ?p ?o . ?o rdfd:lex ?l } log:implies { ?o ?d ?l } .


working with Euler (but using the -test command line switch
to disable some optimization stuff)
remark that I've added 2b (formerly known as 4 (and I now
understand Pat's remark about rule numbering...))
also the reason for the a and b's is to have
only 1 statement in the THEN part btw)
Is that OK??? (then I put in the web)

--
Jos

Received on Tuesday, 16 April 2002 07:10:02 UTC