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'.