SkosCoreGuideToc/SectionExtending/SemanticRelations
Extended Semantic Relation Properties
SKOS Core has three built-in properties for expressing relationships between concepts: skos:broader, skos:narrower and skos:related.
You may, however, require a richer set of properties for expressing relationships between concepts.
For example, you might want to express the fact one concept represents something that is a part of another concept. This is also known as a partitive relationship.
To do this, define two new properties, for example:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#">
<rdf:Property rdf:about="http://my.example.org/knowledgebase/schema#isPartOf">
<rdfs:comment>Expresses a partitive relationship between two concepts.</rdfs:comment>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2004/02/skos/core#broader"/>
<owl:inverseOf rdf:resource="http://my.example.org/knowledgebase/schema#hasPart"/>
</rdf:Property>
<rdf:Property rdf:about="http://my.example.org/knowledgebase/schema#hasPart">
<rdfs:comment>Expresses a partitive relationship between two concepts.</rdfs:comment>
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2004/02/skos/core#narrower"/>
<owl:inverseOf rdf:resource="http://my.example.org/knowledgebase/schema#isPartOf"/>
</rdf:Property>
</rdf:RDF>
Note that these two properties have been declared as each other's inverse via a statement using the owl:inverseOf property.
Note also that these two properties extend skos:broader and skos:narrower respectively. This means that partitive relationships between concepts will be rendered as part of the concept hierarchy by generic SKOS applications. An alternative would be to extend skos:related instead, in which case the partitive relationship would be rendered alongside other associative relationships by generic SKOS applications.
Whether you choose to extend skos:broader, skos:narrower or skos:related will depend on how you want these relationships to be handled by generic SKOS applications.
These two properties can now be used as in e.g.:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
xmlns:my="http://my.example.org/knowledgebase/schema#">
<skos:Concept rdf:about="http://my.example.org/knowledgebase/geography#UK">
<skos:prefLabel>United Kingdom of Great Britain and Northern Ireland</skos:prefLabel>
<my:isPartOf rdf:resource="http://my.example.org/knowledgebase/geography#Europe"/>
</skos:Concept>
<skos:Concept rdf:about="http://my.example.org/knowledgebase/geography#Europe">
<skos:prefLabel>Europe</skos:prefLabel>
<my:hasPart rdf:resource="http://my.example.org/knowledgebase/geography#UK"/>
</skos:Concept>
</rdf:RDF>
N.B. the SKOS Extensions RDF vocabulary [ref] has a set of standard semantic relation property extensions, such as 'broader-instantive' 'broader-generic' and 'broader-partitive'.