W3C home > Mailing lists > Public > public-powderwg@w3.org > December 2008

RE: POWDER formal semantics 4.3 comments

From: Michael Schneider <schneid@fzi.de>
Date: Sun, 7 Dec 2008 15:03:32 +0100
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A0EA69BA@judith.fzi.de>
To: "Jonathan Rees" <jar@creativecommons.org>, <public-powderwg@w3.org>
Dear WG, dear Jonathan!

I have been on the cc-list of this discussion for a while now, but did not earlier find the time to participate. So please excuse my late answer. I am now going to answer to Jonathan's original mail, but will restrict my comments mostly to clarifications w.r.t. the RDF Semantics specification.
 
Jonathan Rees wrote on November 20, 2008:

>I'm diving a bit deeper into the relation between RDF formal semantics
>[1] and POWDER formal semantics [2], and have found another glitch.
>
>POWDER says:
>
>           o uuu is in the domain of I, with I(uuu)=x
>
>Clearly uuu is meant to be an IRI. But RDF semantics says that the
>"domain" of an interpretation I is a set of resources (somewhat
>confusingly, since I is also used as a function that has a domain that
>is syntactic). 

Let me say that there are two very different notions of a "domain" to be distinguished. An RDF interpretation I is, as you correctly say, a function, so it has a domain (containing possible arguments) and a range (containing possible values). The arguments of the interpretation function I(.) are syntactic expressions, for example URIs and literals. The values of I(.) are the denotations of these expressions. In particular, the denotations of URIs are resources existing in the interpreted universe. This universe is also known as the "/domain/ of discourse". So keep care not to confuse the "domain" of the function with the "domain" of discourse. These are completely different concepts. 

Now, coming back to what you cite and say above: The text in the POWDER document talks about the "domain" being the domain of the function I(.), AFAIU. But when you cite the RDF Semantics that "the 'domain' of an interpretation I is a set of resources", then you rather refer to the /domain of discourse/, i.e. the universe, because the universe is the set of all resources in RDF. The POWDER document is correct in stating that the IRI "uuu is in the domain of I", provided that by "domain" POWDER means the /function's/ domain. In comparison, the mapping result x := I(uuu) is a resource, which is an instance of the domain of discourse, i.e. the universe.  

>I think you mean for uuu to belong to V, the
>"vocabulary" of I, which is the domain not of I but of IS:

To clarify: IS is a mapping of URI references (RDF Semantics, Sec. 1.3), and is a sub-function of the interpretation function I(.), with I(u) = IS(u) for URIs u (RDF Semantics, Sec. 1.4). When you go on reading the RDF Semantics spec, you will never find IS(.) being used for mapping URIs, but I(.) is always used instead. Using I(.) is always safe, and can IMO be considered best practice, even if using IS(.) would be technically allowed in certain situations (exactly in those cases when URIs are mapped). 

So saying that "uuu is in the domain of I" is a correct statement, since "uuu" is in the function's domain of IS, and the domain of IS is subsumed by the domain of I. While a more specific assertion (talking about the domain of "IS" instead of "I") would technically be allowed, it is not necessary. And I would not even regard it to be desirable, because IS(.) isn't even applied in the RDF Semantics much.

Besides, note that the "vocabulary" V of I is not restricted to URIs, but may also include literals. From Section 0.3 of the RDF Semantics:

    A name is a URI reference or a literal. 
    [...]
    A set of names is referred to as a vocabulary.

This also becomes clear from several of the semantic conditions for ground graphs in Section 1.4, which are of the form

    If E is a (plain|typed) literal in V then ...

So the vocabulary V of I actually /subsumes/ the domain of IS, but will generally not be equal to it.
 
>"A set of names is referred to as a vocabulary [V]."  ... "4. A
>mapping IS from URI references in V into (IR union IP)" ... "if E is a
>URI reference in V then I(E) = IS(E)"
>I couldn't find any particular restrictions on what V might be; it
>could be empty, or the set of IRIs, or the set of IRIs occurring in
>the graph, or anything else. 
>I would guess that in applying an
>interpretation to a graph, the name (IRI) set is meant to at least
>contain the vocabulary of the graph (the IRIs) occurring in it, but it
>could be limited to it.

One has to distinguish between the vocabulary of an /interpretation/ and the vocabulary of a /graph/. The RDF Semantics states in Section 0.3:

    The vocabulary of a graph 
    is the set of names which occur as 
    the subject, predicate or object 
    of any triple in the graph.

and further in Section 1.3: 

    All interpretations will be relative to a set of names, 
    called the vocabulary of the interpretation [...] 

The vocabulary V_I of an interpretation I can be chosen arbitrarily (consisting of arbitrary URIs and literals). Once it has been chosen, V_I is fixed for I. Hence, it may happen that an interpretation I is applied to some graph G, where the vocabulary V_G of the graph G contains names that are not contained in the vocabulary V_I of the interpretation I. This situation is handled by the fifth semantic condition for ground graphs in Section 1.4: 

    if E is a ground triple s p o. then I(E) = true if
    s, p and o are in V, [... further conditions ...]
    otherwise I(E)=false

and by the following comment:

    If the vocabulary of an RDF graph contains names 
    that are not in the vocabulary of an interpretation I 
    - that is, if I simply does not give a semantic value 
    to some name that is used in the graph - 
    then these truth-conditions will always yield the value false 
    for some triple in the graph, 
    and hence for the graph itself.

Thus, in such a situation, I(G) = false.

Regards,
Michael

--
Dipl.-Inform. Michael Schneider
FZI Forschungszentrum Informatik Karlsruhe
Abtl. Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: Michael.Schneider@fzi.de
Web  : http://www.fzi.de/ipe/eng/mitarbeiter.php?id=555

FZI Forschungszentrum Informatik an der Universität Karlsruhe
Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
Tel.: +49-721-9654-0, Fax: +49-721-9654-959
Stiftung des bürgerlichen Rechts
Az: 14-0563.1 Regierungspräsidium Karlsruhe
Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus


Received on Sunday, 7 December 2008 14:04:15 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:42:13 GMT