- From: Graham Klyne <gk@ninebynine.org>
- Date: Wed, 02 Apr 2003 17:26:43 +0100
- To: Pat Hayes <phayes@ai.uwf.edu>, w3c-rdfcore-wg@w3.org
Per ACTION 2003-03-14#6, reviewing: http://www.coginst.uwf.edu/~phayes/RDF_Semantics_Editors.html I've done a general read-through, with particular attention to the red text. ... Section 0.3 [Nit] Defines "isomorphic" graphs, but elsewhere [1] we agreed to talk of "equivalent" graphs. [1] http://www.w3.org/2001/sw/RDFCore/20030123-issues/#danc-01 http://lists.w3.org/Archives/Public/www-rdf-comments/2003JanMar/0602.html ... Section 1.3 [Nit] [[ 2. A distinguished subset IP of IR., called the set of properties. ]] might be more consistent (cf. item 1 in same list) to say: [[ 2. A distinguished subset IP of IR, called the set of properties of I. ]] ... Section 1.3 I mentioned the other day that it had been proposed in another place (IETF URI BOF) to define resource as something identified by a URI -- no URI then no resource. This would be at odds with: [[ However, this does not imply that literals should be identified with urirefs. ]] I don't suggest any change at this time, since that's only a suggestion for a revised version of RFC 2396, but mention it as it could become a future point of confusion or dissent. ... Section 1.5 [Nit] Isn't Skolemization named after one Thoralf Skolem? As such should it not be capitalized, like Boolean? ... Section 2, inference rules for instance lemma Short form: I don't think you have, as claimed, an *inference rule* for the instance lemma. Discussion: When you talk of inference rules, I am expecting to see a complete syntactically based chain that gets from some premiss to a valid conclusion. As given, the closure rules show how one can create new graphs that are entailed by some initial graph by addition of triples, but I don't see how to use them to create an conclusion of which the premiss is an instance (i.e. *replacement* of a triple by its instance). Also, you say there is no inference rule corresponding to the subgraph lemma. I would have thought that: G1 union G2 |- G1 would be such an inference rule. I guess you mean there is no closure rule corresponding to the subgraph lemma? ... Section 3.1 Notes about canonical form terminology; I would ask Jeremy to confirm the appropriate form of words for this. Current wording in Concepts suggests: [[ if x is a *Canonical XML* document then <x, I(rdf:XMLLiteral)> is in IEXT(I(rdf:type)) and x is in LV ]] and [[ IL("xxx"^^rdf:XMLLiteral) is the *canonical form* of the XML document xxx. ]] ... Section 3.1, defining IP? [[ The first condition could be regarded as defining IP to be the set of resources in the universe of the interpretation which have the value I(rdf:Property) of the property I(rdf:type). The second condition forces every rdf interpretation to interpret rdf:type as a property, which will be used to associate 'type' values with resources. ]] The first condition is: IP contains I(rdf:type) The second condition is: x is in IP if and only if <x, I(rdf:Property)> is in IEXT(I(rdf:type)) I think the text has the first and second conditions switched around. ... Section 3.1, rdf:first, rdf:rest Would it not be appropriate to specify semantic conditions that IP contains I(rdf:first), etc? Also, rdf:subject, rdf:predicate, rdf:object, rdf:_1, rdf:_2, ... , rdf:value ? ... Section 3.2.2 [Nit] [[ In general, this amounts to knowing the type of a container, and having a partial 'list' of the items in the container. ]] The use of the term 'list' here may be unfortunate (cf. RDF collections), so maybe say?: [[ In general, this amounts to knowing the type of a container, and having a partial enumeration of the items in the container. ]] Also?: [[ RDF does not support any entailments which could arise from *enumerating* the elements of an rdf:Bag in a different order. For example, ]] ... Section 3.3, [Nits] I am wondering if the discussion of semantic extensions that strengthen the domain and range semantic conditions might usefully be offset from the main text in some way, as an explanatory NOTE or suchlike, since it's not central to understanding RDF as is. Also, for the corresponding closure rules noted in section 4.2. Also, the comment about not including a picture seems somewhat redundant. ... Section 3.4: [Nit] [[ Formally, a datatype d is assumed to be defined by four items: ]] I'm not sure if this means something different from: [[ Formally, a datatype d is defined by four items: ]] ... Section 3.4 [Nit] [[ The set of recognized datatypes always includes the built-in datatype rdf:XMLLiteral and may include the XML Schema, part 2 built-in datatypes defined in [XML-SCHEMA2], referred to here as XSD. ]] I think that some of these built-in datatypes are not really suitable for use with RDF, such as IDREF and QName. Suggest: [[ The set of recognized datatypes always includes the built-in datatype rdf:XMLLiteral and may include some of the XML Schema, part 2 built-in datatypes defined in [XML-SCHEMA2], referred to here as XSD. ]] ... Section 3.4, datatypes: [[ ICEXT(I(rdfs:Datatype)) is a subset of D ]] I can't see, from the descriptions given, how a datatype may be in D but not a member of ICEXT(I(rdfs:Datatype)). ... Section 3.4, datatypes and consistency with Concepts I think we currently have an inconsistency: [[ For any typed literal "sss"^^ddd in G and string ttt, I("sss"^^ddd) = I("sss"@ttt^^ddd) ]] where Concepts says that literals of types other than rdf:XMLLiteral have lexical spaces that consisting of just strings, so the case quoted above just should not arise. http://www.w3.org/2001/sw/RDFCore/TR/WD-rdf-concepts-20030117/#section-Datatypes (4th para) Hmmm... but see also: http://www.w3.org/2001/sw/RDFCore/TR/WD-rdf-concepts-20030117/#section-Graph-Literal http://www.w3.org/2001/sw/RDFCore/TR/WD-rdf-concepts-20030117/#section-Literal-Equality http://www.w3.org/2001/sw/RDFCore/TR/WD-rdf-concepts-20030117/#section-Literal-Value The last of these suggests that a typed literal with a language tag is syntactically OK, but ill-formed, in which case (according to my reading of the semantics) it should have a value which is not in LV; i.e. not the same as I("sss"^^ddd) [[ For any typed literal "sss"^^ddd in G, if I(ddd) is in D and sss is not in the lexical space of I(ddd) then IL("sss"^^ddd) is not in LV ]] In voew of the above, there seems to be a gap in the formal conditions. What about "sss"@ttt^^ddd, where "sss"@ttt is not in the lexical space of ddd? Before putting this topic to bed, I think we need an agreed resolution for danc02: http://www.w3.org/2001/sw/RDFCore/20030123-issues/#danc-02 slightly expanded to address language tags as well as datatypes. Then this might be fixed in Concepts or semantics or both. The outcome might also impact section 4.3 ... Section 3.4, confused by wording I had some trouble figuring how this: [[ The sixth condition says that the meaning of any typed literal which uses a recognized datatype is the value of the literal character string under that datatype. ]] was saying the same thing as: [[ For any typed literal "sss"^^ddd in G, if I(ddd) is in D and sss is in the lexical space of I(ddd) then IL("sss"^^ddd) = L2V(I(ddd))(sss) ]] Maybe say something like this?: [[ The sixth condition says that the meaning of any typed literal which uses a recognized datatype is the value of the datatype's lexical-to-value mapping applied to the literal character string. ]] ... Section 3.4, XML datatypes [[ These semantic conditions are exactly similar to the above if one defines the lexical space of rdf:XMLLiteral as the set of all XML documents and all pairs of XML documents and language tags, and @@add link to concepts here@@ L2V(I(rdf:XMLLiteral)) as defined in [RDF Concepts]. ]] Currently, I think the link you want would be to: http://www.w3.org/2001/sw/RDFCore/TR/WD-rdf-concepts-20030117/#dfn-rdf-XMLLiteral ... Section 4.1, XML literal closure rule [[ xxx aaa mmm . where mmm is a well-formed XML typed literal with the same @@canonical form as lll. ]] Based on the current Concepts document, I think you want something like: [[[ where mmm is a well-formed XML typed literal, whose language tag is the same as lll, and whose string component is the canonical form of the string component of lll. ]]] (but please check with Jeremy) ... Section 4.1, Nit [[ Note, the rules rdf2 and rdf3, and the semantic conditions to which they correspond, apply only to typed literals which contain the exact RDF identifier of the built-in datatype. ]] Might be clearer as: [[ Note, the rules rdf2 and rdf3, and the semantic conditions to which they correspond, apply only to typed literals that contain the exact URI of the built-in XML datatype. ]] ... Section 4.2 [[ xxx aaa "sss"[@ttt] . ]] I note that there's a new bit of notation slipped in here. I think the intent is reasonably clear, but it might be more correct to list rules for xxx aaa "sss" . and xxx aaa "sss"@ttt . ... Section 4.2, *the* types? [[ For example, the range and domain assertions in the RDFS axiomatic triples, together with the rules rdfs2 and 3, establish the rdf:type values of much of the RDFS vocabulary. ]] A resource may have multiple types. I would suggest dropping *the*, as in: [[ For example, the range and domain assertions in the RDFS axiomatic triples, together with the rules rdfs2 and 3, establish rdf:type values for much of the RDFS vocabulary. ]] ... Section 4.2, *every* xxx in v? [[ The rules will generate all assertions of the form xxx rdf:type rdfs:Resource . for every xxx in V, and of the form ]] Surely, the closure rules generate these assertions for all xxx used (directly or indirectly) in the graph whose closure is computed? (Taking V as the vocabulary of the interpretation used, which by my understanding may be larger than that used by a graph to which it is applied.) Similarly, for every class name? ... Section 4.3, a "small semantic extension"? [[ It may be useful to incorporate the assumption that any uriref appearing in a typed literal is presumed to be a datatype, which would be captured by the following rule. Note however that this is not strictly valid, so represents a (small) semantic extension. rdfD -1 aaa ppp "sss"[@ttt]^^ddd . ddd rdf:type rdfs:Datatype . Datatype clashes and violations may be considered to be error conditions. However, such graphs are not strictly ill-formed, and can be used to support valid RDFS entailments which might be meaningful in certain contexts. ]] I'm not sure what it means to be a "small semantic extension", but the above seems quite significant to me. According to section 3.4 and the first semantic rule in that section, all members of I(rdfs:Datatype) must be recognized datatypes. (I'm still not usre if I(rdfs:Datatype) *is* the set of recognized datatypes; see comment above). Thus, I think the "small semantic extension" noted above would require *all* datatypes used in a graph to be recognized datatypes, which I suppose would mean that any graph that used an unrecognized datatype would automatically be false under such interpreation. ... Appendices only given cursory skim... no comments noted. ... #g ------------------- Graham Klyne <GK@NineByNine.org> PGP: 0FAA 69FF C083 000B A2E9 A131 01B9 1C7A DBCA CB5E
Received on Wednesday, 2 April 2003 11:50:10 UTC