Re: [SKOS] OWL DL compatibility

Hi Dan,

>
>>
>> I think Alistair's idea was to enable usage of SKOS properties to 
>> describe OWL classes in proper ontologies.
>>
>> There is a problem in OWL DL with recording different kinds of labels 
>> (e.g. which to use for display or not, which is the vernacular label, 
>> etc.) because rdfs:label is an AnnotationProperty, which cannot be 
>> specialized with rdfs:subPropertyOf. However, this would be the 
>> preferred way to maintain semantic interoperability (you can always 
>> dumb down to rdfs:label).
>>
>> SKOS might fill this gap, but it can only do so if SKOS proeprties 
>> are not restricted to skos:Concept and are NOT AnnotationProperties 
>> (else they could not be specialized themselves as might be expected). 
>> But if they are to be applied to _classes_ in DL, they MUST be 
>> AnnotationProperties...
>>
>> Dilemma, dilemma...
>
>
> How about restricting the SKOS stuff to just work with SKOS stuff, not 
> with OWL. But then defining a bridge property that links from a class 
> to a (possibly anonymous) SKOS entity that "shadows" it for purposes 
> of documentation.
>
> ie.
>
> not:
> <owl:Class>
>  <skos:prefLabel>Foo</etc
>
> ...but
>
> <owl:Class>
>  <skos:bridge>
>   <skos:Concept>
>    <skos:prefLabel>Foo</etc

I find this solution quite a smart one, and elegant as a first sight. 
But also, and very importantly, I would never have to use it in my case, 
so there is some bias ;-)
The advice of people dealing with such OWL class/ SKOS constructs 
integration in their cases shall be useful...

>
> Question: do the DL puritans allow things like this? Presumably 
> "bridge" would be an AnnotationProperty.
>
> Let me see. http://www.w3.org/TR/owl-ref/#Header
>
> So...
>
> skos:bridge rdf:type owl:AnnotationProperty .
>
> "The object of an annotation property must be either a data literal, a 
> URI reference, or an individual."
>
> We can't define a formal range on skos:bridge, but informally we can 
> spread an expectation that it be used to point to individuals that are 
> SKOS Concepts.
>
> Note that we needed even write that type information in the RDF graph, 
> and that the much-maligned RDF/XML syntax allows a notation for this:
>
> <owl:Class rdf:ID="Car">
>  <skos:bridge skos:prefLabel="Car" skos:altLabel="BrmBrm"/>
> </owl:Class>

Be careful, a concept might have several altLabel so you will end up 
quite quickly being force to go for a less elegant syntactic solution.

>
> Note also that this idiom gets into the very interesting territory of 
> idioms for relating ontological and skos models. However, here, I am 
> suggesting it purely as a documentation convention. Whether a common 
> design could serve both purposes, I have no idea right now. In some 
> ways it would be nice, but we would have to define domain, range and 
> inverses solely in prose. BTW one of the property names Alistair and I 
> were throwing around for this was "skos:as" (inverse: skos:it). This 
> would link between inviduals ("dan") and classes ("Person") and 
> corresponding topics in a SKOS scheme:
>
> How might that look here?
>
> Assuming:
>    skos:as rdf:type owl:AnnotationProperty .
>
> <owl:Class rdf:ID="Person">
>  <skos:as skos:prefLabel="Person" skos:altLabel="Guy"/>
> </owl:Class>

It makes sense in this specific straightforward example, but personnaly 
I find names with only 2 letters not ideal.

Cheers,

Antoine

Received on Wednesday, 21 February 2007 11:34:17 UTC