- From: pat hayes <phayes@ihmc.us>
- Date: Mon, 5 Jan 2004 16:35:54 -0800
- To: Dan Connolly <connolly@w3.org>
- Cc: herman.ter.horst@philips.com, Sandro Hawke <sandro@w3.org>, www-rdf-comments@w3.org
- Message-Id: <p06001f26bc1f981186b7@[192.168.1.4]>
>On Fri, 2003-12-19 at 17:59, pat hayes wrote: >> [...] So I accept that this addition to >> the text would be an improvement, I do not feel that this is worth, >> as it were, stopping the presses for (even if the presses could be >> stopped, which they cannot at this stage.) > >The Proposed Rec has gone out, but review of that document is >in order thru 19Jan. Ah, I had not realized that. OK.... >Does anybody feel energized to start a new thread, Take this as the new thread. ----- My understanding at present is that there is one outright error in the document, an editing slip: the statement of the RDFS entailment lemma in appendix A should read the same as the one in the text: "rule lg" -> "rules lg, gl" with appropriate links, of course. The remaining comments from Herman are concerned with the way that D-interpretations are defined. After re-reading this correspondence I think that the best way to proceed is to adopt Herman's suggested rewording (with slight changes) for the RDFS semantic conditions. The amended text reads as follows (beginning at the anchor http://www.w3.org/TR/rdf-mt/#defDinterp and proceeding for 4 paragraphs past the table. The text has been changed to properly organize the references to 'first condition', 'second condition' and so on, but the substance has not been changed.) ---------- If D is a datatype map, a D-interpretation of a vocabulary V is any rdfs-interpretation I of V union {aaa :<aaa,x> in D} which satisfies the following extra conditions for every pair <aaa, x> in D: General semantic conditions for datatypes. <table> <firstrow> I(aaa) = x and I satisfies the triples aaa rdf:type rdfs:Datatype . aaa rdfs:subClassOf rdfs:Literal . </firstrow> <secondrow> if "sss"^^ddd is in V and <aaa, I(ddd)> in D and sss is in the lexical space of I(ddd) then: IL("sss"^^ddd) = L2V(x)(sss); IL("sss"^^ddd) is in LV; IEXT(I(rdf:type)) contains <IL("sss"^^ddd), ddd> </secondrow> <thirdrow> if "sss"^^ddd is in V and <aaa, I(ddd)> in D and sss is not in the lexical space of I(ddd) then: IL("sss"^^ddd) is not in LV; IEXT(I(rdf:type)) does not contain<IL("sss"^^ddd), ddd> </thirdrow> </table> The first condition ensures that I interprets the URI reference according to the datatype map provided. Note that this does not prevent other URI references from also denoting the same datatype. The second condition ensures that typed literals in the vocabulary respect the datatype lexical-to-value mapping. For example, if I is an XSD-interpretation then I("15"^^xsd:decimal) must be the number fifteen. The third condition requires that an ill-typed literal, where the literal string is not in the lexical space of the datatype, not denote any literal value. Intuitively, such a name does not denote any value, but in order to avoid the semantic complexities which arise from empty names, the semantics requires such a typed literal to denote an 'arbitrary' non-literal value. Thus for example, if I is an XSD-interpretation, then all that can be concluded about I("arthur"^^xsd:decimal) is that it is not in LV, i.e. not in ICEXT(I(rdfs:Literal)). An ill-typed literal does not in itself constitute an inconsistency, but a graph which entails that an ill-typed literal has rdf:type rdfs:Literal, or that an ill-typed XML literal has rdf:type rdf:XMLLiteral, would be inconsistent. Note that the second and third conditions apply only to datatypes in the range of D. Typed literals whose type is not in the datatype map of the interpretation are treated as before, i.e. as denoting some unknown thing. These conditions does not require that the URI reference in the typed literal be the same as the associated URI reference of the datatype; this allows semantic extensions which can express identity conditions on URI references to draw appropriate conclusions. The first condition also ensures that the class rdfs:Datatype contains the datatypes used in any satisfying D-interpretation. Notice that this is a necessary, but not a sufficient, condition; it allows the class I(rdfs:Datatype) to contain other datatypes. ------ If this is considered acceptable to everyone, I propose to make this change. I will in any case undertake to produce a corrected version of the text, with anchors etc. in place. Pat PS to Herman: I am not so optimistic as you are about proving a version of the entailment lemma for D-entailment. The issue here has always been that datatypes are inherently idiosyncratic. For example, xsd:boolean has only 2 items in its value space, so for example the following is a valid XSD-entailment: a p "true"^^xsd:boolean . a p "false"^^xsd:boolean . b type xsd:boolean . |- a p b . but I despair of writing a general set of rules which would be sensitive to all possible value-space cardinality conditions. Similarly, there are many valid XSD entailments arising from ordering constraints on particular value spaces; and of course who knows what entailments might arise from yet-to-be-defined datatypes? The real issue here is that the L2V(d)(x) constraint is really arbitrarily powerful, even to the point of going beyond first-order (ie R.E.) expressivity; and it is up to the particular datatype how much of that power it chooses to wield: so I do not think that we can possibly prove a general completeness lemma for datatype entailment. Pat -- --------------------------------------------------------------------- IHMC (850)434 8903 or (650)494 3973 home 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32501 (850)291 0667 cell phayes@ihmc.us http://www.ihmc.us/users/phayes
Received on Monday, 5 January 2004 19:39:35 UTC