Skip to toolbar

Community & Business Groups

SKOS and OWL for Interoperabilty Community Group

Based on our #SDSVoc bar camp session we would like to discuss best practices for using SKOS and OWL for interoperability

Group's public email, repo and wiki activity over time

Note: Community Groups are proposed and run by the community. Although W3C hosts these conversations, the groups do not necessarily represent the views of the W3C Membership or staff.

opening this group

Dear all,

Thank you for your interest in this community group. The topic for this group is: SKOS and OWL for interoperability. This topic was discussed during the #SDSVoc bar camp in Amsterdam last December, and we felt that we needed more time and more opinions to come up with best practices and design patterns for using SKOS versus OWL.

Some background: in the wild there are many examples of SKOS implementations. People seem to find it a useful, easy standard to “capture things”. On the other hand, people are very creative in extending the basic SKOS scheme, and by doing so move towards a more OWLy version of the original SKOS scheme. (Some examples here.)

Statement: To support interoperability we should agree on using standard design patterns and move away from the tempation to make the perfect semantic model.

This would perhaps imply that it is best to use the SKOS scheme in a clean way and not play with it too much, otherwise the user of your data has to “do something extra”, such as run a reasoner before (s)he can use. And if you want to add complexity, maybe just create an OWL class, and not subclass from skos:Concept.

What is your opinion?

Lieke

Use cases

Hi all,

Just to get the discussion going here a few questions:

what do you think are typical use cases for SKOS? ..for OWL?

do you use any reference sources for your decisions in modelling? if yes..which?

 

thanks, Lieke

SKOS in the wild

Some examples of how people use SKOS,  beyond just filling in the scheme:

A . subclass skos:Concept with a class that means the same, but has its name in the national language.
Example:

ex-de:Konzept rdfs:subClassOf skos:Concept .
ex-nl:Begrip rdfs:subClassOf skos:Concept .

The use case for this is merely that one wants to provide the user with a model that is in the national language.

B: to subclass skos:Concept with a number of classes that describe the body of knowledge.
Example:

ex:Vehicle rdfs:subClassOf skos:Concept .

The idea behind this is that the developer wants to use the skos semantic relation properties to build a simple hierarchy.

C: to subclass skos:Concept with a number of classes with OWL restrictions that describe the body of knowledge.
Example:

ex:Vehicle rdfs:subClassOf skos:Concept ;
  rdfs:subClassOf [
      rdf:type owl:Restriction ;
      owl:onProperty ex:hasColour ;
      owl:someValuesFrom ex:Colour ;
    ] ;

The idea behind this is that the developer wants to use the skos properties to build a simple hierarchy, AND use the restrictions to further describe the Vehicle set.

E. To extend SKOS with capabilities that are (more or less) available in OWL: http://www.ddialliance.org/Specification/RDF/XKOS