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?
A recent interesting article on the various used of owl:sameAs is the following:
Halpin, H. and Hayes, P.J., "When owl: sameAs isn’t the same: An analysis of identity links on the Semantic Web", Proceedings of the WWW2010 workshop on Linked Data on the Web, 2010
It gives a theoretical/philosophical view on the concept of identity and equality thereof, and argues that the owl:sameAs term is overloaded. So you can use alternatives that are more specific (unless you need OWL reasoning).
answered 15 Dec '10, 09:47
Just to make sure you're aware of this: when mapping classes use
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.
answered 19 Nov '09, 09:58
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.
answered 27 Nov '09, 04:09