1

I have a hierarchy of skos:Concepts and want to define an owl:Class consisting of those individuals that are connected to a specific concept or one of its narrower terms through some property. I managed to create an owl:Restriction that works for one specific concept, but not for a hierarchy of concepts:

# Concept hierarchy
concepts:Dance a skos:Concept .
concepts:FolkDance a skos:Concept ;
    skos:broaderTransitive concepts:Dance .
concepts:SquareDance a skos:Concept ;
    skos:broaderTransitive concepts:FolkDance .

# owl axioms
ex:Dance rdfs:subClassOf ex:Movement ;
    owl:equivalentClass [
        a owl:Restriction ;
        owl:onProperty ex:hasKindOfMovement ;
        owl:hasValue concepts:Dance
    ] .

# Assertions
ex:SomeInstance ex:hasKindOfMovement concepts:Dance .

The above correctly makes ex:someInstance an instance of ex:Dance. But how can I make ex:anotherInstance a member of ex:Dance if I have the assertion

ex:anotherInstance ex:hasKindOfMovement concepts:SquareDance

? I. e. where the individual in owl:hasValue is a transitively narrower concept than the one specified in the restriction.

This question seems similar to OWL restrictions - defining classes that only contains properties with a specific property value but I couldn't work it out from there... Any help is much appreciated.

LarsG
  • 33
  • 1
  • 6
  • 1
    The problem here is that the SKOS semantics has nothing in common with the OWL semantics, i.e. `skos:broader` won't be used during OWL inference like it's done for `rdfs:subClassOf` – UninformedUser Sep 13 '18 at 06:08
  • @AKSW Thanks for your note. Does that mean that there is no way to create an `owl:Class` such that class membership is restricted to `skos:Concept`s that are `skos:narrower` than a specific individual? – LarsG Sep 13 '18 at 07:31
  • Well, first of all, you used `owl:hasValue concepts:Dance` which makes `concepts:Dance` an instance of `owl:NamedIndividual`, thus, even if `concepts:Dance` would be an `owl:Class` it wouldn't work. Using `owl:someValuesFrom concepts:Dance` instead would also not work as long as `concepts:SquareDance` isn't related to `concepts:Dance` via OWL subsumption hierarchy which in fact is not the case with the `skos:broader` property. Not sure if hijacking would work here, unfortunately I'm not that familiar with SKOS. Others here might know a solution besides using OWL only – UninformedUser Sep 13 '18 at 07:42

0 Answers0