W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > December 2002

Review semantics document (2002-12-13#7) - part 1

From: Graham Klyne <GK@NineByNine.org>
Date: Tue, 31 Dec 2002 18:25:43 +0000
Message-Id: <>
To: RDF core WG <w3c-rdfcore-wg@w3.org>

Per my action 2002-12-13#7, as minuted:
this is my partial review of:
up to and including section 3.3.

Many of my comments are marked [Editorial] or [Typo], which are merely 
issues I draw to the editor's attention.

Some are marked [For discussion], which may or may not be problems with 
this document, and request wider review.

One is marked [Error], which I think needs to be fixed.


Isn't this meant to stand alone, separately from the document?  The 
citations here militate against this.


Section 0.2, para 2:
The second sentence is slightly confusing concerning the referent of "which 
occur in either the S or O position...".  On first reading, I took it to be 
saying the a _literal_ can occur in S or O position.  Suggest reorganization:
Draw one oval for each blank node, and for each uriref occurring in either 
the S or O position in any triple in the set, and one rectangle for each 
literal, and write each uriref or literal as the label of its shape.


Section 0.2, para 4:
Treating ex: as an imaginary URI scheme seems a little odd to me.  Why not 
just some arbitrary (unspecified) Qname prefix?   (I guess changing this 
would require all examples to be revised to drop angle brackets around 

Also, use of monospace font for some prefixes but not for 'ex:' or the 
suggested corresponding URI.


[For discussion]
Section 0.2, Prefix xsd: namespace:
Maybe this is OK, but I think it should be checked.  Some time ago, DanC 
posted a "Get off my lawn" comment -- 
pointing out that folks shouldn't define URIs occupying namespaces that are 
controlled by some other group.

It's not clear to me that the XML schema specs define URIs of the form 
(e.g.) http://www.w3.org/2001/XMLSchema#decimal, since the concatenation 
convention is something introduced by RDF.  Also, the XML schema 
specification does not introduce a '#' into its namespace.  There has been 
some discussion about this issue, but I'm not sure that it's fully 
resolved;  it's not clear to me that the XML schema specs sanction use of 
(say) http://www.w3.org/2001/XMLSchema#decimal to denote an RDF datatype.

Also, I note that the normative references cite XML schema part 2, but the 
document one gets by retrieving http://www.w3.org/2001/XMLSchema refers to 
part 1 only.  I think this may be an omission in the document there rather 
than an error in this specification.


Section 0.3, para 3:
Is it really possible for two distinct graphs to share any blank nodes?  I 
suppose in some obscure abstract sense it may be, but wouldn't it be easier 
to simply assert that no blank node may appear in more than one graph?  The 
next paragraph seems to deal adequately with the node identifier renaming 
issue which is a real practical concern.


Section 0.3, para 7:
The concept of a triple being an instance of another triple is used here, 
but I haven't seen it previously explained.


[For discussion]
Section 1.1, para 2:
Restriction to non-looping RDF graphs?   Is this really possible, in light 
of section 0.1 about the requirement to honour the base semantics in any 
extension, and the fact that in an RDFS-interpretation everything must be 
an instance of rdfs:Resource, including rdfs:Resource?  It seems this is 
allowed if a semantic extension does not include RDFS-interpretation 
constraints;  it seems odd to me that the specification seems to be almost 
recommending a course that conflicts with other parts of itself.

This also suggests to me that section 0.1 maybe needs to be more explicit 
about exactly what semantic entailments must be included in any semantic 
extension.  The language there currently says:
Semantic extensions of RDF MUST conform to the semantic conditions in this 
The semantic conditions imposed on an RDF semantic extension MUST define a 
notion of vocabulary entailment which is valid according to the model- 
theoretic semantics described in the normative parts of this document ...
which can be taken to mean that simple-, rdf- and rdfs- entailments MUST be 
supported.  I think it might be better to state this explicitly, if that is 
what is intended.  I think that extensions must support at least simple- 
and rdf-entailments, and should also be required to support 
rdfs-entailments if that can be squared with the point made about avoiding 
looping RDF graphs.


Section 1.3, para 3:
"particularn" in
"Some interpretations may assign special meanings to the symbols in a 
particularn vocabulary,..."

Also, double '..' in 'etc..'


[For discussion]
Section 1.3, interpretation of literals:
Did the issue of whether plain literals denote themselves or denote some 
member of the value space of xsd:string ever get resolved?  [I think DanC 
raised this -- I don't have a reference to hand.]

(May also affect section 1.4: I(E)=E for plain literals)


[For discussion]
Section 1.3, para 5 about LV:
It seems that the set LV is independent of any particular vocabulary of 
In which case, it seems to me that LV must include all of IR, thus:
(1) suppose in some interpretation on some vocabulary V there is a value or 
set of values in IR that are not in LV.
(2) define a new interpretation on V' which is the same as the the previous 
interpretation, except that V' is V with an added URI for a new datatype, 
defining a literal form for at least one value not in LV.  I see nothing 
that prevents this.
(3) by the definition of LV, it must contain the value space of the new 
datatype introduced in V'.  If LV is independent of vocabulary, this 
contradicts the supposition (1).

Further, since the IR for a vocabulary is defined to be a superset of LV, 
this suggests IR=LV for all vocabularies of interpretation.

If this is truly an issue, I suggest the set LV is defined with respect to 
a vocabulary (as is an interpretation).  I think this then permits a 
sharper definition of LV (i.e. all strings, all <language,string> pairs and 
the union of all the value spaces of the datatypes whose URIs are in V).

Alternatively, what is the need to distinguish LV?


Section 1.4, figure 1:

The diagram claims that IR has just two members.  But you have stated 
elsewhere that IR must include LV, which includes strings like "whatever", 
because they map to themselves when used as plain literals...


Section 1.5, para 2, et seq:

The use of anon(E) is a throwback to older terminology, since 
dropped.  Would it be more appropriate to use, say, blank(E)?


[Editorial, inconsistency?]
Section 2, para 3:
The description of "valid" here is with respect to a "process or 
technique".  But the glossary version is with respect to an "inference".

Suggest:  extend glossary definition to allow "of an inference, process or 


[Editorial, spurious content?]
Section 2, just before 2.1:
It might be thought that the operation of changing a bound variable would 
be an example of an inference which was valid but not covered by the 
interpolation lemma, e.g. the inference of

_:x <ex:a> <ex:b> .


_:y <ex:a> <ex:b> .

Recall however that by our conventions, these two expressions describe 
identical RDF graphs.

I can't see what new information is being added here.  In particular, I 
think the inference suggested *is* covered by the interpolation lemma, 
because "_:y <ex:a> <ex:b> ." is a subgraph of the merge of the set 
containing just itself, and is also an instance of "_:x <ex:a> <ex:b> .", 
which  are exactly the conditions for entailment according to the 
interpolation lemma.


[Editorial, consistency of style]
Section 3, para 1:
The font used for rdf: and rdfs: prefixes is different from that used in 
section 0.2, para 4.


[For discussion]
Section 3, para 3:
... we use the Qname namespace prefixes to identify the various 
distinctions ...

The nature of Qnames, as defined by XML namespaces, is that the prefix is 
arbitrary;  i.e. it is defined locally.

It is merely a *convention* that (say) rdf: is widely used as the prefix 
for members of the RDF namespace, and valid Qnames for these concepts may 
quite legitimately be different (as long as they are different from other 
prefixes used locally to refer to different namespaces).

The fix may be very simple:
... we use the Qname namespace prefix conventions to identify the various 
distinctions ...


Section 3, para 3:
... Intuitively, a conclusion may follow from some of the extra assumptions 
incorporated in the semantic conditions imposed on the reserved vocabulary.

This seems to say the additional conclusions are consequences of the extra 
assumptions alone.

... Intuitively, a conclusion may depend upon some of the extra assumptions 
incorporated in the semantic conditions imposed on the reserved vocabulary.


Section 3.1, para 1:

The phrasing here "Consider..." suggests this is a throw-away example.
I suggest:
The following (rather small) reserved vocabulary is called rdfRV:


Section 3.1, para 3:
The first condition forces every rdf interpretation to contain a thing 
which can be interpreted as the 'type' of properties.

The first condition being
IP contains   I(rdf:type)

This doesn't make sense to me.  I am guessing something like this is meant:
The first condition forces every rdf interpretation to contain a thing in 
IP denoted by rdf:type;  this will be used as a property to associate 
'type' values with resources.

The original text seems to describe the second condition.


Section 3.3:

Contains some instances of rdfs:XMLLiteral, as well as 
rdf:XMLLiteral;  should all be rdf:XMLLiteral, I think.


That's me done for now.  More later.


Graham Klyne
Received on Tuesday, 31 December 2002 13:19:09 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:54:03 UTC