[comment] Formal Semantics, Section 4.3


I had a look at Section 4.3 of the POWDER Semantics LCWD at


and found a few possible issues.

1) You write /sss^xsd:string/. It should be "^^". This error exists several times in the document.

2) I don't think that the semantic condition for wdrs:matchesregex is correct, or, at least, I do not understand it. I would expect that

  < x , reg > in IEXT(I(wdrs:matchesregex))

is meant to hold, if there is an IRI u in the vocabulary V of the interpretation I, such that I(u) = x, and the string representation of u matches the regular expression reg.

But the definition talks about a literal "uuu^^rdf:XMLLiteral" instead, such that I(uuu) = x. For me, there are several questions here:

First, I don't understand the rational to talk about XMLLiteral's at all in this context. At which point in POWDER do XMLLiteralS come into play? I only see it mentioned in this Section 4.3, and later in the "sister" Section 4.6.

Second, and more specifically, it's not obvious to me what the

  "equivalence relation which relates an xsd:string 
  with an rdf:XMLLiteral corresponding to 
  a single text node of the same string" 

is meant to be.

Third, an interpretation I under the RDF Semantics only maps either literals (via the mapping "IL") or IRIs (via the mapping "IS"), see Section 1.3 of [RDF Semantics]. Now, "uuu^^rdf:XMLLiteral" happens to be a literal that could, in principle, be mapped by I/IL. However, you actually refer to "I(uuu)". Note that "uuu" is /not/ a literal, but instead is a /lexical form/ of the datatype rdf:XMLLiteral, compare Section 5.1 of [RDF Semantics]. So the expression "I(uuu)" is technically undefined.

Fourth, even if uuu was meant to be some XMLLiteral, it seems peculiar to me that it denotes the left hand side resource x in the above relationship. This would mean that x is a /data value/, which is on the left hand side of an RDF triple. This would make it impossible to use wdrs:matchesregex to write "normal triples", because a triple such as

  "<foo/>"^^rdf:XMLLiteral wdrs:matchesregex "<.+/>"^^xsd:string

is invalid RDF syntax.

I rather believe that you want to express that uuu is an /IRI/ in the vocabulary V of I, which is mapped by IS/I to x: I(uuu) = x. From looking at Example 4.4, I can see that the property wdrs:matchesregex is used in a HasValue restriction, which basically defines the "IRI set" there, and I don't believe that an "IRI set" is meant to be a set of XMLLiteralS. Hence, I think you should not talk about rdf:XMLLiteralS here, but about /IRIs/.

In addition, if this should really be an error, then Section 4.6 should be investigated as well.

Michael Schneider

[RDF Semantics] <http://www.w3.org/TR/rdf-mt/>

Dipl.-Inform. Michael Schneider
Research Scientist, Dept. Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: michael.schneider@fzi.de
WWW  : http://www.fzi.de/michael.schneider
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, RP Karlsruhe
Vorstand: Prof. Dr.-Ing. Rüdiger Dillmann, Dipl. Wi.-Ing. Michael Flor,
Prof. Dr. Dr. h.c. Wolffried Stucky, Prof. Dr. Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus

Received on Monday, 27 April 2009 13:19:19 UTC