- From: Antoine Zimmermann <antoine.zimmermann@emse.fr>
- Date: Thu, 14 Mar 2013 16:54:54 +0100
- To: RDF WG <public-rdf-wg@w3.org>
This is a review of RDF 1.1 Semantics Editor's draft, but I'm not completely sure if everything applies to the current version. I tried to keep my review up to date with the ongoing changes, but I mostly worked on a printed version from last week. As I said, all issues except bnode scope are relatively small and should not block publication as FPWD. Among the *good* points I can list the following: - a lot of side comments that existed before in RDF Semantics have been pushed forward to appendix, which makes the text lighter and more straight to the point (it could still improve on this); - interpretations independent of a vocabulary is a net improvement; - having D-entailment as a direct extension of simple entailment, rather than of RDFS-entailment, is also a net improvement. Apart from the bnode issue, the other prominent problem is the management of datatypes and literals. There are things that bother me with this regard, but it's in no way as important as the issues regarding bnodes. I externalise the issues with bnode scope, since there is a separate discussion on it, and it's evolving with the discussion. Issues with Literals and datatypes: ================================== The definition of datatype does not match the definition in Concepts, but most importantly, it does not match the normative definition of XSD that we cannot change. More specifically, XSD defines the L2V mapping as a total function going from the lexical space to the value space. Besides, I don't see what is the problem with a definition with 3 components that are explicitly named (viz., the lexical space LS(d), the value space VS(d) and the lexical-to-value mapping L2V(d)). This is not a big deal as the result is the same, but I really don't see any gain from having the definition different. Could L2V(rdf:langString) simply be the empty mapping? It seems it makes it a proper datatype (XSD does not forbid empty mappings, as far as I remember). D-interpretation: --- The use of a set D rather than a datatype mapping is making the definitions less precise. Now, the condition is: """ For every other IRI aaa in D, and every literal "sss"^^aaa, IL("sss"^^aaa) = L2V(I(aaa))(sss) """ L2V is not defined, and even if it was defined as in XSD, it would not be defined on all resources I(aaa) which have no reason to be a datatype. This is not a big deal again, as one can quickly imagine that the intended meaning is that it only works for I(aaa) being a datatype, but again, I see no gain in forcing that little extra interpretation when we could have it straight with good old datatype map. What is the advantage of getting rid of the map? Minor comments: ============== - in "Notation and terminology", the reference for N-triples should be the separate document in preparation. - I would prefer if RDF-entailment be removed and the conditions put in RDFS-entailment. Treating rdf:Property and rdf:type apart from rdfs:Class and the other RDFS constructs seems arbitrary. - Section "RDFS interpretations" says that the RDFS vocabulary extends RDF to a larger vocabulary (and the list of rdfs: terms follows) but the list of rdf: terms has not been presented before; - Section "RDFS Interpretations" says: """(rdfs:comment, rdfs:seeAlso, rdfs:isDefinedBy and rdfs:label are included here because some constraints which apply to their use can be stated using rdfs:domain, rdfs:range and rdfs:subPropertyOf. Other than this, the formal semantics does not constrain their meanings.)""" But there are also several rdf: terms that have little semantics (rdf:value, rdf:_1, ...). rdfs:label and rdfs:comment are constrained in their range (rdfs:Literal). If RDF-semantics was merged with RDFS-semantics all terms could be listed together, and remarks on terms with little constraints be put together (rdf:value, rdfs:isDefinedBy and rdfs:seeAlso are the least constrained). - I think the material on extension semantics should be kept in an informative section but with the addition of examples of entailments that do not hold in general and would hold with the extensional semantics. For instance, it may not be clear that: {<s> <p> <o> .} does not RDFS-entail: {<p> rdfs:range rdfs:Resource .} or that: {<p> rdfs:range <C> . <C> rdfs:subClassOf <D> .} does not entail: {<p> rdfs:range <D> .} - The Glossary contains term that may not be necessary (Metaphical, Ontological). I think the glossary sould stick to the notions that are critical for the normative text. The rest can be looked up in a dictionary. - There should be a normative reference to RDF 1.1 Concepts. -- 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/ -- 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 Thursday, 14 March 2013 15:55:23 UTC