- From: Antoine Zimmermann <antoine.zimmermann@emse.fr>
- Date: Tue, 13 Nov 2012 10:31:48 +0100
- 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 UTC