- From: Simon Reinhardt <simon.reinhardt@koeln.de>
- Date: Wed, 13 May 2009 11:42:07 +0100
- CC: "public-lod@w3.org" <public-lod@w3.org>, "semantic-web@w3.org" <semantic-web@w3.org>
Toby Inkster wrote: > * DCMI's hasFormat/isFormatOf. The two resources are > "substantially the same [...] but in another format". > > In both these cases, the resources being described are different, but > for many purposes it's useful to consider them identical. > > It would be good if OWL was able to be used to express something like > this: > > [] is owl:equivRule of dc:hasFormat ; > owl:implication [ > owl:propertyOnOne dc:title ; > owl:propertyOnAll ex:looseTitle ; > owl:validity owl:Always > ] . > > Which allowed us to reason: > > { _:A dc:hasFormat _:A1 , _:A2 ; > dc:title "Foo" . } > => > { _:A ex:looseTitle "Foo" . > _:A1 ex:looseTitle "Foo" . > _:A2 ex:looseTitle "Foo" . } . You can normally get around this by defining a higher abstraction level. So instead of looking at an audio track on a CD and an audio file, seeing that one is a different format of the other (e.g. the file was ripped from the CD) and that therefore they have certain properties in common (like a title) but not others (like a sample rate), you can just talk about a "track" as being abstracted from the versions. The abstract track will then hold the title while the more concrete objects hold properties like sample rate. This is basically what FRBR is all about. DC doesn't do this, they just talk about things on one level and then try to relate all the different things with properties like hasFormat. MusicBrainz does this as well with its "advanced relationships" - you chain up all the different tracks that are versions of one another. The plans for its new database schema are to introduce those higher-level abstractions. Translations are another case like this: instead of saying that one document is a translation of another you could relate both to a higher-level object that represents a language-neutral version of the document (but that doesn't always work nicely for translations; often it's important to know which language something was translated from). In my experience defining those abstractions is the most complicated task I came across in ontology design so far. Things can get very messy because there are tons of cases where your abstractions don't work nicely or they simply just don't represent the real world very well. But it's one way of dealing with partial equivalences. Regards, Simon
Received on Wednesday, 13 May 2009 10:44:02 UTC