- From: Antoine Zimmermann <antoine.zimmermann@emse.fr>
- Date: Wed, 11 Dec 2013 16:23:01 +0100
- To: Pat Hayes <phayes@ihmc.us>
- CC: "public-rdf-comments@w3.org Comments" <public-rdf-comments@w3.org>, Michael Schneider <schneid@fzi.de>
Here is a concrete proposal for changes to be made in RDF 1.1 Concepts and RDF 1.1 Semantics. tl;dr: concepts defines datatype maps as a mapping from some IRIs to datatypess, and introduces the terms "recognized datatype IRIs" (the domain of the datatype map) and "recognized datatypes" (the range of the datatype map). Using this terminology, the modifications to semantics are surprisingly minimal. Almost all text relating to D-entailment stays the same as in RDF 1.1 Semantics CR. However, I request that datatype map are used in the semantic condition for D-entailment. Once this is set, the other semantic conditions in other entailment regime can stay almost identifical. I also ask Michael to review my proposal. The phrasing, if retaining the idea, can be improved. Changes to concepts: ==================== 5.4 Datatype Maps Datatypes are identified by IRIs. In order to know the value of a literal, implementations should be able to associate its datatype IRI to the datatype it identifies. This association between IRIs and datatypes is called a <def>datatype map</def> and it is formally defined as a mapping from a set of IRIs to datatypes. The set of IRIs in a datatype map is known as the <def>recognized datatype IRIs</def>, the datatypes associated with recognized IRIs by the datatype map are called the <def>recognized datatypes</def>, and datatype maps MUST satisfy the following conditions: - If the datatype IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral is recognized, then it must be paired with the datatype rdf:XMLLiteral defined in this specification. - If the datatype IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML is recognized, then it must be paired with the datatype rdf:HTML defined in this specification. - If the datatype IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral is recognized, then it must be paired with the datatype rdf:PlainLiteral defined in [RDF:PLAINLITERAL]. - If the datatype IRI http://www.w3.org/2002/07/owl#rational is recognized, then it must be paired with the datatype rdf:PlainLiteral defined in [OWL 2 Structural Specification]. - If the datatype IRI http://www.w3.org/2002/07/owl#real is recognized, then it must be paired with the datatype rdf:PlainLiteral defined in [OWL 2 Structural Specification]. - If a datatype IRI of the form http://www.w3.org/2001/XMLSchema#xxx is recognized, then it must be paired with the RDF-compatible XSD type named xsd:xxx. Other specifications may impose additional constraints on the datatype map, for example, require support for certain datatypes. Implementations are free to recognize datatype IRIs that are not part of a W3C specification, in which case they SHOULD provide in their documentation the definition of the datatype to which the IRI maps to, making the datatype map explicit. However, if an implementation solely recognizes datatypes contained in XSD union {rdf:HTML, rdf:XMLLiteral, rdf:HTML, owl:rational, owl:real}, then it MAY only provide a set of recognized IRIs because the associate datatypes are constrained by this specification. <Note:> RDF Test cases never use datatypes outside the list above, so entailment tests refer to sets of recognized IRIs without making the datatype map explicit.</Note> <Note:> If an implementation recognizes a datatype outside the list above, it SHOULD rely on a datatype IRI that can dereference to a specification of the associated datatype. If it does so, then it is possible to define the datatype map of the implementation simply as a set of recognized IRIs</Node>. Changes to semantics: ===================== List of places where the notion of "identifying" and "recognizing" is used: In Section 4: "For example, the fact that the IRI http://www.w3.org/2001/XMLSchema#decimal is widely used as the name of a datatype described in the XML Schema document [XMLSCHEMA11-2] might be described by saying that the IRI identifies that datatype. If an IRI identifies something it may or may not refer to it in a given interpretation, depending on how the semantics is specified. For example, an IRI used as a graph name identifying a named graph in an RDF dataset may refer to something different from the graph it identifies." --> requires no change, in my opinion Section 5: "Semantic extensions may impose further constraints upon interpretation mappings by requiring some IRIs to refer in particular ways. For example, D-interpretations, described below, require some IRIs, understood as identifying and referring to datatypes, to have a fixed denotation." --> requires no change because even with datatype maps, certain datatype IRIs are required to have a fixed denotation. Section 7: "Datatypes are identified by IRIs. Interpretations will vary according to which IRIs they recognize as denoting datatypes. We describe this using a parameter D on simple interpretations, where D is the set of recognized datatype IRIs. We assume that a recognized IRI identifies a unique datatype wherever it occurs, and the semantics requires that it refers to this identified datatype. The exact mechanism by which an IRI identifies a datatype IRI is considered to be external to the semantics. RDF processors which are not able to determine which datatype is identified by an IRI cannot recognize that IRI, and should treat any literals with that IRI as their datatype IRI as unknown names." --> change this to: "Datatypes are identified by IRIs. Interpretations will vary according to which IRIs they recognize as denoting datatypes. We describe this using a parameter D on simple interpretations, where D is a datatype map, with recognized datatype IRIs S. A recognized IRI identifies the unique datatype it maps to according to the datatype map wherever it occurs, and the semantics requires that it refers to this identified datatype. RDF processors that do not recognized a given IRI cannot determine which datatype is identified by this IRI, and should treat any literals with that IRI as well as their datatype IRI as unknown names." The second change note in Section 7 can be changed to: <Change note:> RDF 1.1 introduces the notion of recognized datatype IRIs and recognized datatypes which corresponds to the set of IRIs in a datatype map and to the datatypes associated with these IRIs, respectively. The use of this notion simplifies the exposition of D-entailment. Next paragraph: "A literal with datatype d denotes the value obtained by applying this mapping to the character string sss: L2V(d)(sss)." --> change to "If a datatype IRI uuu is recognized in a datatype map D, then a literal with datatype IRI uuu denotes the value obtained by applying this mapping to the character string sss: L2V(D(uuu))(sss)." Next paragraph: "RDF processors are not required to recognize any datatype IRIs other than rdf:langString and xsd:string, but when IRIs listed in Section 5 of [RDF11-CONCEPTS] are recognized, they MUST be interpreted as described there, and when the IRI rdf:PlainLiteral is recognized, it MUST be interpreted to refer to the datatype defined in [RDF-PLAIN-LITERAL]. RDF processors MAY recognize other datatype IRIs, but when other datatype IRIs are recognized, the mapping between a recognized IRI and the datatype it refers to MUST be specified unambiguously, and MUST be fixed during all RDF transformations or manipulations." --> change to "RDF processors are not required to recognize any datatype IRIs other than rdf:langString and xsd:string, but when IRIs listed in Section 5 of [RDF11-CONCEPTS] are recognized, they MUST be interpreted as described there, and when the IRI rdf:PlainLiteral is recognized, it MUST be interpreted to refer to the datatype defined in [RDF-PLAIN-LITERAL]. RDF processors MAY recognize other datatype IRIs, but when other datatype IRIs are recognized, the datatype map associating the recognized IRI to the datatype it refers to MUST be specified unambiguously, and MUST be fixed during all RDF transformations or manipulations." 2 paragraphs later: "RDF processors which fail to recognize a datatype IRI will not be able to detect some entailments which are visible to one which does." --> (optional) rather than "which fail to recognize" simply say "which do not recognize", because it does not need to be a failure, it could be on purpose Section 7.1: "Let D be a set of IRIs identifying datatypes." --> change to "Let D be a datatype map." Semantic conditions: "If rdf:langString is in D, then for every language-tagged string E with lexical form sss and language tag ttt, IL(E)= < sss, ttt' >, where ttt' is ttt converted to lower case using US-ASCII rules" --> (optional) change to "If rdf:langString is recognized in D" (but I can live with the idea that an element is included in a map if it belongs to the domain "For every other IRI aaa in D, I(aaa) is the datatype identified by aaa, and for every literal "sss"^^aaa, IL("sss"^^aaa) = L2V(I(aaa))(sss)" --> change to "For every other IRI aaa recognized in D, I(aaa) = D(aaa), and for every literal "sss"^^aaa, IL("sss"^^aaa) = L2V(I(aaa))(sss)" The right hand side of the last equality could read "L2V(D(aaa))(sss)" of course. Section 7.2: "" --> add a sentence: "When a datatype map D can be nonambiguously characterized with a set of IRIs (for instance, when the recognized datatype IRIs are contained in XSD IRIs) then D is reduced to a set and this specification use this as an abbreviation, such as RDF entailment recognizing {rdf:langString, xsd:string}" After technical note: "In all of this language, 'D' is being used as a parameter to represent some set of datatype IRIs, and different D sets will yield different notions of satisfiability and entailment." --> change to "In all of this language, 'D' is being used as a parameter to represent some mapping from datatype IRIs to datatypes, and different D maps will yield different notions of satisfiability and entailment." The following sentence is compatible with datatype maps because a mapping is formally a set of pairs, so the empty set is a mapping, mappings can be subset of others, etc.: "The more datatypes are recognized, the stronger is the entailment, so that if D ? E and S E-entails G then S must D-entail G. Simple entailment is { }-entailment, i.e. D-entailment when D is the empty set, so if S D-entails G then S simply entails G." --> keep as is. Section 7.2.1: "For example, if D contains xsd:decimal then ..." --> Again here, a datatype map does not contain datatype IRIs or datatypes strictly speaking (they only contain pairs) but I think this is acceptable abuse of notation, so I request no change. The following paragraphs in the section have similar harmless abuse of notation. Section 8: "RDF-D interpretations MAY fail to recognize these datatypes." --> (optional) replace "fail to" by "not" Section 8.1: "When D is {rdf:langString, xsd:string} then we simply say S RDF entails E." --> Here, given the text to be put in RDF concepts, it is ok to define the datatype map as a set when it only contains standard datatype IRIs. So no change is needed. RDFS semantic conditions: "for every other IRI aaa in D, ICEXT(I(aaa)) is the value space of I(aaa)" --> change to "for every other recognized IRI aaa in D, ICEXT(I(aaa)) is the value space of I(aaa)" (Note that it could be equivalently ICEXT(D(aaa)), but due to the RDF semantic conditions, it's the same thing. "for every IRI aaa in D, I(aaa) is in ICEXT(I(rdfs:Datatype))" --> change to "for every recognized IRI aaa in D, I(aaa) is in ICEXT(I(rdfs:Datatype))" Section 9.2.1, RDFS entailment patterns: "rdfs1 any IRI aaa in D" --> "any recognized IRI aaa in D" I haven't looked at the appendices for the moment. -- 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, 11 December 2013 15:23:30 UTC