- From: Fabien Gandon <Fabien.Gandon@sophia.inria.fr>
- Date: Fri, 31 Mar 2006 12:31:11 +0200
- To: Steve Pepper <pepper@ontopia.net>
- CC: SWBPD list <public-swbp-wg@w3.org>, Guus Schreiber <schreiber@cs.vu.nl>
Hello, Below is my review of the "Guidelines for RDF/Topic Maps Interoperability - W3C Working Group Draft 20 March 2006" as available here: http://www.ontopia.net/work/guidelines.pdf Regards, Fabien These guidelines are interesting, very well written and I believe useful not only for developers of cross-formalism applications but also as a complement for people familiar with TM or RDF/S and wanting to get familiar with the other formalism. Disclaimer: *I am not a specialist in TM* and thus the following review suffers from this lack of expertise. Some of my questions may be answered in the survey but I read these guidelines as a standalone document. *Remark #1* "While unification has to date not been possible (for a variety of technical and political reasons), a number of attempts have been made to uncover the synergies between RDF and Topic Maps and to find ways of achieving interoperability at the data level." I would remove the parenthesises and their content: the note should remain purely technical IMHO. *Remark #2* "In these examples, guidance statements are preceded by a + red plus sign, while classes and properties from the rdftm namespace are shown in teal, thus: + dc:Document rdfs:subClassOf rdftm:InformationResource ." Only at the end did I understand that guidance statements were of two types: - the guidance statements in the RDF base for RDF2TM noted: " + bio:born-in rdftm:subject-role foaf:Person" - the guidance statements in the TM base for TM2RDF noted with curly brackets: "+ { bio:born-in, rdftm:subject-role, foaf:Person }" I think this should be explained and illustrated with an example here I believe In addition (I know I am being picky here) the shade and the word "teal" may be unknown to non native speakers. May I suggest you use "green" for the colour and the word ;-) *Detail #1* "(NB! proposed)" is probably an edition trace otherwise I don't get it. *Detail #2* "Guidelines for making this decision are given throughout Sections 3.4–3.6 AND are collected together in Section 3.10." *Remark #3* "Both Topic Maps and RDF use URIrefs as identifiers (for subjects and resources, respectively). (…) In Topic Maps, it is always clear whether the URIref is a subject locator or a subject identifier. Since RDF does not make this distinction, the question arises, in RDF2TM, whether to map the URIref of a resource to a subject locator or to a subject identifier; and, conversely, in TM2RDF, whether to map subject locators or subject identifiers (or neither, or both) to the URIrefs of resources." Here the reader might wonder why not use the properties rdfs:seeAlso or rdfs:isDefinedBy in RDFS to represent subject identifiers. The RDFS spec sounds close to the notion of subject identifiers: - "rdfs:seeAlso is an instance of rdf:Property that is used to indicate a resource that might provide additional information about the subject resource." - "rdfs:isDefinedBy is an instance of rdf:Property that is used to indicate a resource defining the subject resource. (…) It may be possible to retrieve representations of O from the Web, but this is not required. When such representations may be retrieved, no constraints are placed on the format of those representations." *Remark #4* "RDF2TM: 3.3 Identity": the first bullet also deserves an example ;-) *Remark #5* " Example 9 <http://en.wikipedia.org/wiki/Puccini> -> [puccini @"http://en.wikipedia.org/wiki/Puccini"] " Here I don't see where the "puccini" id of the TM comes from; shouldn't it be an arbitrary id? *Remark #6* "The property rdfs:label deserves particular attention. It may be used in RDF to provide a human-readable version of a resource's name. However, in OWL it is defined as an instance of owl:AnnotationProperty, which means that it cannot be used in property axioms. This prevents these Guidelines from using rdfs:label as the primary mechanism for providing guidance. " I found this a pity especially since IMHO interoperability is more likely to happen at the RDF/S - TM layer than at an OWL - TM layer. In addition this point raises the more general question of the scope of these guidelines in terms of RDF/S vs. OWL. As they are, these guidelines are essentially focusing on RDF/S with a small excursion in OWL Lite for inverse properties. *Remark #7* "Example 13 [puccini = "Giacomo Puccini"] -> _puccini tm:name-type "Giacomo Puccini" . + tm:name-type rdf:type rdftm:NameProperty" I don't understand why the default naming in TM could not be mapped to the default naming in RDF/S "[puccini = "Giacomo Puccini"] -> _puccini rdfs:label "Giacomo Puccini" ." With the built-in guidance "rdfs:label rdf:type rdftm:NameProperty" *Remark #8* "In Topic Maps, a name can have variants." Concerning variants I was wondering if the rdf:Alt mechanism and the rdf:Value mechanism could not be used and combined to obtain the same result. I am not sure how to write it best but it could look like this (sorry I prefer RDF/XML syntax): <rdf:Description rdf:about="puccini"> <foaf:name> <rdf:Alt> <rdf:li rdf:parseType="Resource"> <rdf:value>Giacomo Puccini</rdf:value> </rdf:li> <rdf:li rdf:parseType="Resource"> <rdf:value>puccini, giacomo</rdf:value> <rdftm:variant-scope rdf:resource="&tm;sort"/> </rdf:li> </rdf:Alt> </ foaf:name> </rdf:Description> One of the reasons why I don't like the current solution is shown in example 18: the statements are repeated and I don't think it is trivial to merge them again for round-tripping. (rdf:type rdf:Statement ; rdf:subject _tchaikovsky ; rdf:predicate foaf:name ; rdf:object "Tchaikovsky" ) *Remark #9* In result of example 19, shouldn't the scope appear? i.e. ( "puccini, giacomo" / tm:sort ) *Remark #10* "Untyped occurrences cannot be translated since there is no URIref available to create a property." Couldn't there be a generic type for such cases. *Remark #11* "In order to provide this information, these Guidelines define the properties rdftm:subject-role and rdftm:object-role, whose domain is rdf:Property." What is the rationale not to use rdfs:range and rdfs:domain? *Remark #12* "3.6.2 N-ary relationships" I was surprise with your choice: I thought the pattern 1B was closer to the notion of associations of n-arity with roles. *Remark #13* "3.8 Reification" "There is no direct equivalent of the topic map itself in RDF. The closest equivalent is the set of statements contained in a single RDF document, but this is not quite the same." Wouldn't it be possible to do it with a rdf:Bag of statements? *Detail #3* Example 51 uses the language tag "no" while the second appendix 5.3 (problem of numbering) uses "nor": (4)nor http://www.w3.org/2006/rdftm/rfc3066/nor -- "Even one is not able to successfully translate one's own thoughts into words" -- Friedrich Nietzsche. ____________ |__ _ |_ http://www-sop.inria.fr/acacia/personnel/Fabien.Gandon/ | (_||_) INRIA Sophia Antipolis - ph# (33)(0)4 92 38 77 88
Received on Friday, 31 March 2006 10:32:13 UTC