vote up 3 vote down
star
2

With the numerous ontologies being set up (which I do not see as bad), we also see the need to map ontologies. I am aware of the use of upper-ontologies (like UMBEL) to help make such mappings, and I am aware that I can use owl:sameAs to make rdfs:Resource-s and rdfs:Class-es.

What I am looking for is a literature on good-practices in this area, and in particular about alternatives to the use of owl:sameAs. If the documentation has theoretical arguments for the various options, that would be rather interesting.

Is there such information available?

flag

2 Answers

vote up 3 vote down

Just to make sure you're aware of this: when mapping classes use owl:equivalentClass and when mapping properties use owl:equivalentProperty. owl:sameAs is for linking individuals, i.e. "instances of classes".
Dan Brickley posted something on vocabulary mapping yesterday which might be interesting in this context.

I rarely declare equivalences between classes or properties when creating ontologies because I figure the best thing to do is to use the external ontology directly. This then leads to the problem of how to declare which other ontologies someone might use together with yours - which is strongly tied to the notion of defining "application profiles" of ontologies.

Sometimes there's also the problem that a complex data structure (several linked resources with certain properties) expressed in one ontology is equivalent to some other structure expressed in some other ontology but you can't easily map this just by declaring equivalences in OWL (because the classes / properties might not be equivalent in every case or aspect). Then it seems like you need rules to do the mapping. I think what we need here is some best practices of how to link such mapping rules to ontologies or just classes.

And as I said, often the best thing to do is to use external identifiers (like UMBEL ones) or ontologies directly rather than creating your own and mapping to something else. Many stores still don't do inferencing so common identifiers or custom rule transformations (like database views) are the only way to do data integration with them.

link|flag
OWL Full sameAs seems also possible for rdfs:Class, not? From the OWL recommendation (W3C Recommendation 10 February 2004) "In OWL Full, where a class can be treated as instances of (meta)classes, we can use the owl:sameAs construct to define class equality, thus indicating that two concepts have the same intensional meaning." ... – Egon Willighagen Nov 19 at 11:09
Yes, sorry, of course. :-) I'm just so used to trying to produce DL ontologies so I forget about all the things that are possible in OWL Full. – Simon Reinhardt Nov 19 at 15:50
Well, that's a topic in itself indeed... when to use OWL Full, and when OWL DL... – Egon Willighagen Nov 19 at 23:06
vote up 1 vote down

If you need to keep an editorial control over your resources, using owl:equivalentClass and owl:equivalentProperty, or owl:sameAs for individuals is the best practice for efficient Linked Data. This allows any agent to gather additional knowledge about a resource. Anything from a single label in a foreign language, a description or more specific metadata already available on the Semantic Web. This is a way to extend an existing schema for your own needs.

However, we should reuse existing schemes and resources, and make direct reference to them using their own URIs whenever a standardized equivalent already exists - RDFS, Dublin Core or SKOS for example. When you don't deed this editorial control over an existing schema, making a direct reference to them is the simplest and best thing to do. Resusability is the key concept here.

link|flag

Your Answer

Get an OpenID
or

Not the answer you're looking for? Browse other questions tagged or ask your own question.