- From: Lars Marius Garshol <larsga@garshol.priv.no>
- Date: 04 Jun 2001 14:56:45 +0200
- To: <topicmapmail@infoloom.com>, <www-rdf-interest@w3.org>
* Graham Moore | | I don't think this is the complete solution to the integration | issue. However, I think that this paper could help focus some of | the discussions. I agree that the paper is valuable as a starting point for a discussion of the relationship between topic maps and RDF, and I also agree that it is not a complete solution to the problem. As I see it, RDF is a lower-level data model than that of topic maps, in that is more generic. Consequently, RDF leaves a number of distinctions to be made by the application that in topic maps are part of the model itself. This means that to map from RDF to topic maps one needs to provide extra information about how RDF constructs in a particular RDF application map to topic map constructs. I think your proposed solution, extending the topic map model by adding arcs, only goes part-way towards solving the problem, and I also think it does it in the wrong way. An arc is just a limited form of association, and I see no reason to include arcs in the topic map model when we already have something more powerful and general. When mapping RDF triples to topic map constructs, I think one needs to consider carefully all the possible forms of RDF triples, and then provide additional information that allows a processor to produce the correct topic map results. The subject, as I understand the RDF model, is always a resource, represented by a URI. In a topic map, this must be a topic (in order for the predicate and object to be applied to it), and the URI may be the subject address of the topic, a subject indicator, or an occurrence. The object, again according to my understanding of RDF, can be either a string literal or a resource. If it is a resource, that resource can either be represented by a topic in the topic, or it may be an ordinary pedestrian resource that is an occurrence of some topic. If the object is a string literal, that string literal can represent a topic (through its name) or it can be an occurrence value. The key to knowing how to interpret the subject and object is the predicate, I think, since that tells us what the relationship between the subject and the object is. I think an RDF application to topic map mapping can take a form such as this: For every "Creator" predicate, the subject is an addressable resource, of which the object is an occurrence value of the type "Creator". This would give a mapping from (http://www.w3.org/Home/Lassila, Creator, Ora Lassila) to <topic ...> <subjectIdentity> <resourceRef xlink:href="http://www.w3.org/Home/Lassila"/> </subjectIdentity> <occurrence> <instanceOf><topicRef xlink:href="#creator"/></instanceOf> <resourceData>Ora Lassila</resourceData> </occurrence> </topic> An alternative might be: For every "Creator" predicate, the subject is an addressable resource, while the object is the name of a topic of type "Person". The relationship between them is that there is an association of type "created-by" between them, with the subject playing the role "resource" and the object the role "creator". This would give a mapping from (http://www.w3.org/Home/Lassila, Creator, Ora Lassila) to <topic id="id1"> <subjectIdentity> <resourceRef xlink:href="http://www.w3.org/Home/Lassila"/> </subjectIdentity> </topic> <topic id="id2"> <baseName> <baseNameString>Ora Lassila</baseNameString> </baseName> </topic> <association> <instanceOf><topicRef xlink:href="#created-by"/></instanceOf> <member> <roleSpec><topicRef xlink:href="#creator"></roleSpec> <topicRef xlink="#id2"/> </member> <member> <roleSpec><topicRef xlink:href="#resource"></roleSpec> <topicRef xlink="#id1"/> </member> </association> Coming up with an XML-based syntax for an RDF-to-topic map mapping following the ideas presented here shouldn't be hard. The problem with this predicate-based approach is, of course, that predicates may be inconsistently used in an RDF application, in which case the whole mapping is likely to become fairly difficult. So how well this would work for real RDF applications I must admit that I don't know. BTW: I kept the cross-posting to rdf-interest. I hope that is OK. If not, please let me know. --Lars M.
Received on Monday, 4 June 2001 08:57:03 UTC