W3C home > Mailing lists > Public > public-rdf-wg@w3.org > November 2012

Re: RDF-ISSUE-109 (ill-typed-so-what): What's the consequence of a literal being ill-typed? [RDF Concepts]

From: Antoine Zimmermann <antoine.zimmermann@emse.fr>
Date: Tue, 13 Nov 2012 10:31:48 +0100
Message-ID: <50A21384.7080900@emse.fr>
To: Pat Hayes <phayes@ihmc.us>
CC: Richard Cyganiak <richard@cyganiak.de>, Pierre-Antoine Champin <pierre-antoine.champin@liris.cnrs.fr>, RDF Working Group <public-rdf-wg@w3.org>
Le 13/11/2012 09:31, Pat Hayes a écrit :
>
> On Nov 12, 2012, at 5:41 AM, Richard Cyganiak wrote:
>
>> ... But that's all besides the point. My question was why the specs
>> distinguish between the two things in the first place. Even in XSD
>> entailment, this is consistent:
>>
>> :a :b "xxx"^^xsd:integer.
>>
>> But this is not:
>>
>> :a :b "xxx"^^xsd:integer. :b rdfs:range rdfs:Literal.
>>
>> I don't understand the point of singling out the concept of the
>> “ill-typed literal”, declaring it to be a “non-syntactic error”,
>> but not declaring it to be an inconsistency.
>>
>
> You completely miss the point. Nothing is being "singled out" in the
> 2004 design. Inconsistency isn't something you get to "declare", it's
> a word with a technical meaning. It means, the graph is false in
> every interpretation. You get to define truth conditions on triples,
> and then consistency is a product of that.
>
> So, you want
>
>> :a :b "xxx"^^xsd:integer.
>
> to be always false in any XSD-interpretation, no matter what :a and
> :b are interpreted to mean, right? That is what it means to say that
> this triple is XSD-inconsistent.
>
> I don't think this is possible without tweaking the basic RDF
> semantic rules.
>
> Here's the only way I can see of doing it. We require the universe of
> every interpretation to contain a special semantic value called
> "error", and we stipulate that no relational extensions ever contain
> a pair <x, error>, and we also tweak the blank node conditions so
> that bnodes are never mapped to error. Then we say that any
> ill-formed literal is required to denote error. This ensures that all
> triples with an ill-formed literal will be false, so such graphs are
> always inconsistent. Note, this has to be done in the basic RDF
> semantics, not just in the XSD semantics, since adding datatypes to
> literals doesn't change what URIs like :a and :b mean.

I was thinking of something else:

if <d> is an IRI in the datatype map, then for any character string aaa 
in the vocabulary V, < I(aaa^^<d>),I(<d>) > in IEXP(I(rdf:type)).

For instance, if we have:

<s> <p> "xyz"^^xsd:integer .

By definition of D-interpretation, "xyz"^^xsd:integer has to be 
interpreted as a non literal. But with the constraint I just stated, the 
resource denoted by "xyz"^^xsd:integer must be of type xsd:integer, 
which, by virtue of XSD only contains integers, that are literals. 
Inconsistency!

>
> We didn't do this in 2004 because the basic RDF semantic machinery
> was seen as being defined independently of literal datatyping, but we
> could revisit this decision, I guess. I really don't like this idea,
> but we could do it. It would amount to incorporating datatype
> correctness checking into the basic RDF semantic machinery, and we
> ought to check any consequences it might have for OWL and RIF, as it
> is a rather basic change to the design.
>
> Pat

<skip>

-- 
Antoine Zimmermann
ISCOD / LSTI - Institut Henri Fayol
École Nationale Supérieure des Mines de Saint-Étienne
158 cours Fauriel
42023 Saint-Étienne Cedex 2
France
Tél:+33(0)4 77 42 66 03
Fax:+33(0)4 77 42 66 66
http://zimmer.aprilfoolsreview.com/
Received on Tuesday, 13 November 2012 09:30:53 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:52 GMT