W3C home > Mailing lists > Public > public-rif-wg@w3.org > October 2008

Re: OWL2/RL correction on datatypes

From: Jos de Bruijn <debruijn@inf.unibz.it>
Date: Wed, 08 Oct 2008 10:20:08 +0200
Message-ID: <48EC6D38.1050704@inf.unibz.it>
To: Dave Reynolds <der@hplb.hpl.hp.com>
CC: RIF WG <public-rif-wg@w3.org>


Dave Reynolds wrote:
> 
> As Jos pointed out at the telecon I had "rdfs:Literal" under the
> "supported by RIF" column which is not strictly correct. It looks like I
> had been misreading it as rdf:XMLLiteral.
> 
> However, as far as I can tell the only support for rdfs:Literal needed
> for OWL2/RL can be included in the ruleset[*] without needing any
> specific RIF support and no changes to DTB. I've fixed up the rules in
> the document accordingly and added a footnote to the table to clarify.
> 
> Dave
> 
> [*]
> Essentially we just need additional rules of the form:
> 
> Forall ?lt ( ?lt[rdf:type->rdfs:Literal] :- External( pred:isX(?lt)) )
> 
> For all supported datatypes X.

I think that if Core will have any kind of safeness restriction, such
rules will not be valid Core syntax.

In the axiomatization of the OWL DL datatype semantics [1] I wrote the
following:

(Forall ?x (?x[rdf:type -> rdfs:Literal] :- ?x[rdf:type -> D])) for
every datatype name D in V,
(tr(s^^u)[rdf:type -> u']) for every well-typed literal s^^u and
datatype identifier u' in V such that L2V(D(u))(s) is in the value space
of u',
(tr(t)[rdf:type -> u']) for every plain literal t and datatype
identifier u' in V such that t is in the value space of u',
(Forall ?x ([rdf:type -> rdfs:Literal] :- ?x[rdf:type -> Diri])) for
every datatype in D with identifier Diri,
(Forall ?x ("a"="b" :- And(?x[rdf:type -> Diri] isNotDT(?x)]))) for
every datatype in D with identifier Diri and short name DT,
(Forall ?x ("a"="b" :- And(?x[rdf:type -> owl:Thing] Or(isDT1(?x) ...
isDTn(?x))]))), where DT1,..., DTn are the labels of the considered
datatypes,
(Forall ("a"="b" :- tr(t)[rdf:type -> rdfs:Literal])) for every
ill-typed literal t,
(Forall ?x ("a"="b" :- And(?x[rdf:type -> rdfs:Literal] isNotDT1(?x) ...
isNotDTn(?x))])), where DT1,..., DTn are the labels of the considered
datatypes

You might not need all these rules (I don't really know about the OWL 2
RL semantics).


Best, Jos

[1] http://www.w3.org/TR/rif-rdf-owl/#Embedding


-- 
Jos de Bruijn            debruijn@inf.unibz.it
+390471016224         http://www.debruijn.net/
----------------------------------------------
No one who cannot rejoice in the discovery of
his own mistakes deserves to be called a
scholar.
  - Donald Foster


Received on Wednesday, 8 October 2008 08:20:43 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:55 GMT