Review of the RDF Mapping (Action 315)

Hi!

This is my review of the RDF Mapping. Well, not quite, there is one issue that I consider significant enough to have a separate mail on it. This mail also contains medium problems (marked by "!") and even somewhat serious issues (marked by "!!!"), everything else is non-critical. Besides these points, the document is in LC-shape. 

Note: I did not look into Evren's review, so there may be overlap.

* §2.1, 1st par: The explanation there ("recursive definition") is hard to understand. I admit that I did not get it even after reading it a second time. Perhaps explain by example, or reword the text.

* Table 1, property restrictions: The triple order in cardinality restrictions is first *cardinality, second onProperty. For value restrictions it's the other way around. Let's have a common order: That of cardinality restrictions, because there the "characteristic" triple comes before the "boring" onProperty. Same for §3. This will also ease the comparison with the RDF-Based Semantics, which also uses a coherent ordering (I hope :)).

* §2.2, second example:

   AnnotationAssertion( a:Peter
       Annotation( ... )
       rdfs:label "Peter Griffin"
   )

I think the order of the arguments is wrong: Shouldn't it be:

   AnnotationAssertion( 
       Annotation( ... )
       rdfs:label a:Peter "Peter Griffin"
   )

?

* §2.2, both examples: Why is the string "Peter Griffin" mapped to /"Peter Griffin"^^xsd:string/? Why not to a plain literal?

* §2.3.1, 2nd par: "This is the case for the following axioms:" Actually, some of these axioms can also be built with complex class/property expressions on their LHS and RHS, and will then be mapped to a multi-triple RDF encoding. Thus, I suggest to say something like: "This [may be] the case for the following axioms:"

* §2.3.1, par after 1st example: duplicate "such".

* §3, 1st and 2nd par: Both paragraphs speak about "ontology documents that can be parsed into RDF graphs". There seems to be some redundancy, maybe rephrasing the two paragraphs is helpful. Further, I don't know whether "ontology documents" should be mentioned at all, since the RDF mapping entirely deals with (abstract) RDF graphs.

* (!) §3, 3rd par: "If a triple pattern contains a variable number of triples, the maximal possible subset of G MUST be matched." I consider this statement a very important rule. Currently, it is surrounded by rather informal statements, so people will easily overlook it. It should probably be separated from the rest of the text, similar to the restrictions to punning in 3.2.1.

* §3.1, 1st par: The sentences misses a "." at its end.

* §3.1.1, item list:
** Shouldn't this be an ordered list (1,2,3)?
** I would say that in the 2nd item, the phrase "using an appropriate RDF syntax" is redundant (at least it doesn't seem to provide any relevant information for the rest of the document).

* Table 4, both entries, LHS: I think there should be another constraint "{ k >= 0 }" to make clear that there do not need to be any import directives.

* (!) Table 5, entry on "owl:Ontology": I think these triples are already removed in Table 4, so the entry seems redundant to me.

* (!) Table 8, and preceding text: I don't think that talking about "anonymous individuals" is a good idea here. This term is defined in Section 5 of the Structural Spec and means something different. None of these blank nodes are anonymous individuals, but are rather "syntactic" "root nodes" for connecting multi-triple encodings of language constructs. I currently call them "root node" in the RDF-Based Semantics, but I'm open for a better name.

* (!) Table 10, both entries, LHS: According to the texts, "z" may be an IRI or a blank node. But what is with literals?

* Table 16, owl:hasKey: Is it deliberate that the sets "y1,...", "z1,..." and "w1,..." are not enclosed in "{ }"? Looks like a typo.

* Table 16, deprecation vocabulary: I guess that it is deliberate that there are no constraints such as "CE(*:x) or DR(*:x) (for DeprecatedClass)? Just for the case that this has been overlooked.

* Table 16, annotation axioms (subproperty, domain, range): as for deprecation: There are no constraints, but I again guess that this is deliberate?

* Table 17: The LHS of the table entry refers to "Table 17". But this table *is* Table 17.

* (!) Table 17: The table contains the triple "s *:p o .". According to the conventions in §1, "o" denotes either an IRI or a blank node. However, literals should also be possible. I suggest to explicitly state this in the table, instead of introducing yet another convention symbol.

* Text preceding Table 18: "Finally, the patterns from Table 18 are matched in G, the resulting axioms are added to OG." Replace the second "," by an "and"?

* Table 18: For the singleton "unionOf" and "intersectionOf" axioms, the LHS contains "y1", while the RHS contains "y".

* (!!!) Table 18: I think that the OWL 1 RDF Mapping allows for AllDifferent axioms with empty and singleton sets, just as for the booleans and enumerations. However, Table 16 only covers cases for n >= 2. So there probably should be two additional mappings for these scenarios in Table 18 as well.

Best,
Michael

--
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, 6 April 2009 20:11:41 UTC