W3C home > Mailing lists > Public > public-swd-wg@w3.org > March 2009

Re: [SKOS] SKOS ontology sanity-check? An attempt at creating OWL2 axioms for SKOS

From: Antoine Isaac <aisaac@few.vu.nl>
Date: Sun, 15 Mar 2009 19:13:15 +0100
Message-ID: <49BD453B.6000603@few.vu.nl>
To: SWD WG <public-swd-wg@w3.org>
Hi,

I have given a try at creating OWL 2 axioms for representating our non-formally stated axioms in skos.rdf and [1] for skos-xl.rdf [2], see below.

I found it in fact really more difficult than planned, and the lack of RDF/XML examples in OWL2 is really an obstacle.

Anyway, it seems a good idea to already be aware right now of the issues that we could have later...

I hope this will help,

Antoine

==================

    S12.  The rdfs:range of each of skos:prefLabel, skos:altLabel and skos:hiddenLabel is the class of RDF plain literals.

At first sight this axiom could represented using rdf:Text. [3] reads:
> The datatype identified by the URI http://www.w3.org/1999/02/22-rdf-syntax-ns#text (abbreviated rdf:text) allows for the representation of internationalized text strings. In addition to the RIF and OWL specifications, this datatype is expected to supersede RDF's plain literals with language tags

However, I would not recommend to use it until the "expectations" have been met, and RDF plain literals indeed been superseded.

==================

    S13. skos:prefLabel, skos:altLabel and skos:hiddenLabel are pairwise disjoint

Here is a first try at an RDF/XML representation of this axiom:

    <owl:ObjectProperty rdf:about="#prefLabel">
        <owl:propertyDisjointWith rdf:resource="#altLabel"/>
        <owl:propertyDisjointWith rdf:resource="#hiddenLabel"/>
    </owl:ObjectProperty>
    <owl:ObjectProperty rdf:about="#altLabel">
        <owl:propertyDisjointWith rdf:resource="#hiddenLabel"/>
    </owl:ObjectProperty>


However I'm not sure this would be ok, as [4] hints at applying it either to object properties or datatype properties, but says nothing on annotation properties...

Indeed I tried to create the axiom using Protégé 4. It assumed that prefLabel, altLabel and hiddenLabel were instances of DatatypeProperty, and represented my axioms as:
        <owl:disjointObjectProperties rdf:resource="#hiddenLabel"/>
But apparently this owl:disjointObjectProperties construct does not exist in the RDF mapping at [5]!

Note that OWL 2 also allows for group declaration of disjoint properties. But given that we only have three disjoint properties, and that group disjointness seems cumbersome to represent in RDF syntax (it requires using owl:AllDisjointProperties, and an owl:members which intuitively conflicts with rdf:member the same way as our own skos:member does :-/ ), I'd recommend to keep to the simple construct.


==================

  S14. A resource has no more than one value of skos:prefLabel per language tag.

This cannot be expressed.

=================

  S27. skos:related is disjoint with skos:broaderTransitive

With the same caveats as for S13 (my Protégé had used owl:disjointObjectProperties), we can represent this axiom by:

    <owl:ObjectProperty rdf:about="#related">
        <owl:propertyDisjointWith rdf:resource="#broaderTransitive"/>
    </owl:ObjectProperty>

=================

    S36. For any resource, every item in the list given as the value of the
      skos:memberList property is also a value of the skos:member property

This axiom cannot be represented, unless we first introduce an auxiliary propery that allows a direct access to the object of the rdf:rest statement in the definition of the member list.

=================

    S46. skos:exactMatch is disjoint with each of the properties skos:broadMatch and skos:relatedMatch.

With the same caveats as for S13, we can represent this axiom by:

    <owl:ObjectProperty rdf:about="#exactMatch">
        <owl:propertyDisjointWith rdf:resource="#broadMatch"/>
        <owl:propertyDisjointWith rdf:resource="#relatedMatch"/>
    </owl:ObjectProperty>


============ SKOS-XL

    S51. The range of skosxl:literalForm is the class of RDF plain literals.

Cf S12.

=================

    S55. If C skosxl:prefLabel L and L skosxl:literalForm V, then X skos:prefLabel V.

    <rdf:Description>
        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2004/02/skos/core#prefLabel"/>
        <owl:propertyChain rdf:parseType="Collection">
            <rdf:Description rdf:about="http://www.w3.org/2008/05/skos-xl#prefLabel"/>
            <rdf:Description rdf:about="http://www.w3.org/2008/05/skos-xl#literalForm"/>
        </owl:propertyChain>
    </rdf:Description>



=================

    S56. If C skosxl:altLabel L and L skosxl:literalForm V, then X skos:altLabel V.

    <rdf:Description>
        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2004/02/skos/core#altLabel"/>
        <owl:propertyChain rdf:parseType="Collection">
            <rdf:Description rdf:about="http://www.w3.org/2008/05/skos-xl#altLabel"/>
            <rdf:Description rdf:about="http://www.w3.org/2008/05/skos-xl#literalForm"/>
        </owl:propertyChain>
    </rdf:Description>


=================

    S57. If C skosxl:hiddenLabel L and L skosxl:literalForm V, then C skos:hiddenLabel V.

    <rdf:Description>
        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2004/02/skos/core#hiddenLabel"/>
        <owl:propertyChain rdf:parseType="Collection">
            <rdf:Description rdf:about="http://www.w3.org/2008/05/skos-xl#hiddenLabel"/>
            <rdf:Description rdf:about="http://www.w3.org/2008/05/skos-xl#literalForm"/>
        </owl:propertyChain>
    </rdf:Description>

==============


[1] http://www.w3.org/2006/07/SWD/SKOS/reference/20081001/skos.rdf
[2] http://www.w3.org/2006/07/SWD/SKOS/reference/20081001/skos-xl.rdf
[3] http://www.w3.org/TR/2008/WD-rdf-text-20081202/
[4] http://www.w3.org/TR/2008/WD-owl2-quick-reference-20081202/
[5] http://www.w3.org/TR/2008/WD-owl2-mapping-to-rdf-20081202/
Received on Sunday, 15 March 2009 18:13:51 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 15 March 2009 18:13:51 GMT