Re: Best practices: representing homonym relationships in SKOS

Hi Dan,

I try to translate some of your XML concepts and terms into Turtle SKOS
Concept and Label, may be this helps.
(I drop all the namespace URIs and some other attributes in my examples)

>
> For instance, for "athlete" we have:
>
> <pml:concept xmlns="http://www.cimec.ro/namespaces/pml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:pml="http://www.cimec.ro/namespaces/pml" xsi:schemaLocation="http://www.cimec.ro/namespaces/pml pml.xsd"
> pml:guid="7a20ab2d-5ee3-484d-b415-16067fbaf70b" pml:updateTime="2009-11-15T13:32:59">
>  <definition>
>   <version xml:lang="en">a person trained to compete in sports</version>
>   <version xml:lang="ro">o persoană care participă la competiții sportive</version>
>  </definition>
>  <note>source: Wordnet</note>
> </pml:concept>
>
> <pml:term xmlns="http://www.cimec.ro/namespaces/pml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:pml="http://www.cimec.ro/namespaces/pml" xsi:schemaLocation="http://www.cimec.ro/namespaces/pml pml.xsd"
> pml:guid="a3a0e0fe-9b1a-4b67-8681-9c684516f653" pml:updateTime="2009-11-15T13:32:37" xml:lang="ro">
>  <spelling pml:gender="masculine" pml:number="singular">atlet</spelling>
>  <spelling pml:gender="feminine" pml:number="singular">atletă</spelling>
>  <spelling pml:gender="masculine" pml:number="plural">atleți</spelling>
>  <spelling pml:gender="feminine" pml:number="plural">atlete</spelling>
> </pml:term>
>
> <pml:relation pml:type="identifies-isIdentifiedBy" xmlns="http://www.cimec.ro/namespaces/pml"
> xmlns:pml="http://www.cimec.ro/namespaces/pml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.cimec.ro/namespaces/pml pml.xsd" pml:guid="ad143cdc-a7c7-468a-ba8a-6566dad2a6b1" 
> pml:updateTime="2009-11-15T13:33:17" pml:tightness="strong" pml:isPreferred="true">
>  <pml:subject>a3a0e0fe-9b1a-4b67-8681-9c684516f653</pml:subject>
>  <pml:object>7a20ab2d-5ee3-484d-b415-16067fbaf70b</pml:object>
> </pml:relation>
>   
Something like:

:7a20ab2d-5ee3-484d-b415-16067fbaf70b a skos:Concept ;
 skosxl:prefLabel :a3a0e0fe-9b1a-4b67-8681-9c684516f653 .


:a3a0e0fe-9b1a-4b67-8681-9c684516f653 a skoxl:Label ;
 skosxl:literalForm "atlet"@ro ;
 plm:feminineSingular <4711> ;
 plm:femininePlural <4712> ;
 plm:masculinePlural <4713> .


<4711> a skoxl:Label ;
 skosxl:literalForm "atletă"@ro ;


<4712> a skoxl:Label ;
 skosxl:literalForm "atlete"@ro ;


<4713> a skoxl:Label ;
 skosxl:literalForm "atleti"@ro ;


(where pml:xxx are subProperties of skosxl:labelRelation).




> So, in this simple model:
>
> term -> identifies-isIdentifiedBy -> concept
>
> some concepts (simply) share terms, e.g.
>
> <concept pml:guid="5e85e8fe-27f4-466b-9072-f82d60c962db" pml:updateTime="2009-11-15T13:58:05">
>  <definition>
>   <version xml:lang="en">a set of data arranged in rows and columns</version>
>  </definition>
> </concept>
>
> <concept pml:guid="890a4f16-8054-4dbb-b770-5f02edb6330f" pml:updateTime="2009-11-15T14:00:50">
>  <definition>
>   <version xml:lang="en">a piece of furniture having a smooth flat top that is usually supported by one 
> or more vertical legs</version>
>  </definition>
> </concept>
>
> <term pml:guid="8a4c51b9-1aa3-48a3-81e6-0b673d2d94dc" pml:updateTime="2009-11-15T14:02:24" xml:lang="en">
>  <spelling pml:number="singular">table</spelling>
>  <spelling pml:number="plural">tables</spelling>
> </term>
>
> <relation pml:type="identifies-isIdentifiedBy" pml:guid="428422d0-ffe9-4960-9454-452b215fe593" pml:updateTime="2009-11-
> 15T14:03:51">
>  <subject>8a4c51b9-1aa3-48a3-81e6-0b673d2d94dc</subject>
>  <object>5e85e8fe-27f4-466b-9072-f82d60c962db</object>
>  <qualifier>
>   <version xml:lang="en">mathematics</version>
>  </qualifier>
> </relation>
>
> <relation pml:type="identifies-isIdentifiedBy" pml:guid="428422d0-ffe9-4960-9454-452b215fe593" pml:updateTime="2009-11-
> 15T14:03:51">
>  <subject>8a4c51b9-1aa3-48a3-81e6-0b673d2d94dc</subject>
>  <object>890a4f16-8054-4dbb-b770-5f02edb6330f</object>
>  <qualifier>
>   <version xml:lang="en">furniture</version>
>  </qualifier>
> </relation>
>
> i.e. the qualifier is a property of the term-concept relationship and not of the "label".
>   

Well, this is a different approach of serialization, but not in
semantics, when you compare it with Johan's or my own versions in the
public-esw-thes@w3.org list.


> My point: I'm afraid, when multilingualism is taken seriously, SKOS (i.e. a "simple" KOS) is not enough. Maybe a SKOS+ 
> (i.e. a "sophisticated" KOS) will do.
>   
You can use different multilingual patterns even in SKOS without XL:

# symmetric (in SKOS, can be expressed in SKOSXL likewise)

:4711 rdf:type skos:Concept;
    skos:prefLabel “organisation”@en;
    skos:prefLabel “organization”@en-US;
# add your language here ... (GEMET has more than 20)
    skos:prefLabel “Organisation”@de.


# UMTHES is German-centric with altLabel values also in English
:4711 rdf:type skos:Concept;
    skos:prefLabel “Organisation”@de;
    skos:altLabel “organisation”@en;
    skos:altLabel “organization”@en-US.


# full asymmetric pattern
:4711 rdf:type skos:Concept;
    skosxl:prefLabel :Organisation;
    ext:hasTranslation :4712.

:4712 rdf:type skos:Concept;
    skosxl:prefLabel :organisation.
    ext:hasTranslation :4711.

If you use skosxl for the asymmetric pattern, you might use
ext:translation as a label relation.

> Besides, sometimes I prefer to display the singular and sometimes the plural. E.g., in a museum database:
>
> In the index I want:
>
> ...
> tables (n items)
> ...
>
> and in the detail screen for a table, I want:
>
> ...
> type: table
> ...
>
>   
You might use a skos:Collection "tables" with members in singular ...

Hope this could make you a little curious about converting your XML
model into SKOS(XL).

Kind regards,
Thomas

-- 
Thomas Bandholtz, thomas.bandholtz@innoq.com, http://www.innoq.com 
innoQ Deutschland GmbH, Halskestr. 17, D-40880 Ratingen, Germany
Phone: +49 228 9288490 Mobile: +49 178 4049387 Fax: +49 228 9288491

Received on Sunday, 15 November 2009 16:43:53 UTC