- From: Pierre-Antoine Champin <pierre-antoine.champin@liris.cnrs.fr>
- Date: Wed, 14 Nov 2012 21:41:12 +0100
- To: Antoine Zimmermann <antoine.zimmermann@emse.fr>
- Cc: "public-rdf-wg@w3.org" <public-rdf-wg@w3.org>
- Message-ID: <CA+OuRR8neO=i5rrRcBoC6kVODKgLNnPEbP4aZ=+rsjzeW53H-g@mail.gmail.com>
Antoine, On Wed, Nov 14, 2012 at 3:48 PM, Antoine Zimmermann < antoine.zimmermann@emse.fr> wrote: > Le 14/11/2012 11:19, Pierre-Antoine Champin a écrit : > > Pat, > > > > On Wed, Nov 14, 2012 at 8:16 AM, Pat Hayes<phayes@ihmc.us> wrote: > > > >> What I still don't follow is, why anyone who understands what an > >> inconsistency is, would even form the idea that an ill-typed literal > would > >> be an inconsistency. It's not the distinction that needs explaining, > it's > >> why anyone would treat them as similar in the first place. > Illformedness > >> is not even in the same category as an inconsistency. Literals aren't > true > >> or false by themselves. > >> > > > > I think the divergence of opinion comes from the fact that > > > > * you see typed literals merely as terms (which, strictly speaking, they > > are), and a term can not be False; it just denotes something ; > > > > * others (at least myself!) see a little more in them, namely: an > implicit > > assertion that the denoted thing is indeed in the value space of the > > datatype. > > > > If we decide to bite that bullet, then this could be endorsed in the > > semantic condition for a *graph*: > > > > if E is a ground RDF graph then I(E) = false if I(E') = false for some > > triple E' in E, > > or if I(E') is not in LV for some typed literal E' in V, > > otherwise I(E) =true. > > Ouch. I don't like the fact that the notion of type comes in at the > level of ground-graph simple entailment. > I don't see how my proposal above makes the notion of type more present than it was before: * typed literals are a subset of V, they were already there * LV is a distinguished subset of IR in *all* interpretation, it was already there. I don't believe (nor intend) that the proposal above changes the result of simple entailment. The only change is that, in order to satisfy the following graph: :a :b "foo"^^xsd:integer . an interpretation will have to verify IL("foo"^^xsd:integer) is in LV As nothing, in simple entailment, can constrain LV in any way, nothing prevents a graph consistent with the current condition to have a satisfying interpretation that meets the condition I propose. On the other hand, under XSD-entailment, as "foo" is not a valid lexical form for xsd:integer, the semantic conditions for datatypes impose to every interpretation that IL("foo"^^xsd:integer) is not in LV so no XSD-interpretation can satisfy the graph above under the condition I propose. Again, what I'm trying to model is the intuition that any typed literal is claiming that its lexical form is indeed a lexical value of its datatype (in rdf-mt parlance: they denote something in LV). This claim is neutral in simple-entailment, where datatypes have no special meaning (LV is not constrained). It has some impact in D-entailment (reflected in rdf-mt by the semantic conditions for datatypes that constraing what can and cannot be in LV). Or do you object to this intuition? I had the impression that your proposal was going that way too... The more I think of this issue, the more I believe that ill-typed > literals should be a syntax error. An application that supports a > datatype should reject RDF graphs that do not write literals of that > type properly. > That can work of course. But that makes RDF+XSD a sublanguage of RDF, just like OWL-DL is. Worse, that makes RDF+D (with D any set of datatypes) a different sublanguage. Makes me feel uneasy. pa > Note that in OWL 2 Structural Specification and Functional Style Syntax, > it is required that: > > "The lexical form of each literal occurring in an OWL 2 DL ontology MUST > belong to the lexical space of the literal's datatype." > > cf. Section 5.7 http://www.w3.org/TR/owl2-syntax/#Literals. > > > > AZ > > > > The first line (from the original definition) accounts for everything > > asserted explicitly in a triple, > > while the second line (which I added) accounts for those "implicit" > > assertions carried by typed literals. > > > > Do you think it's a clean way to do it? Or do you consider it as just > > another "trick" ? :-) > > > > pa > > > > -- > 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 Wednesday, 14 November 2012 20:41:46 UTC