SkosCoreGuideToc/SectionExtending/ConceptTypes
Extended Concept Types
This section describes how to extend the skos:Concept
class to create more specific classes of concept.
An example of an extension of skos:Concept
is below:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdfs:Class rdf:about="http://my.example.org/knowledgebase/schema#BiologicalConcept"> <rdfs:comment>A concept from the domain of biology.</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> </rdfs:Class> </rdf:RDF>
Once this new class has been declared, it can be used as in:
<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:my="http://my.example.org/knowledgebase/schema#"> <my:BiologicalConcept rdf:about="http://my.example.org/knowledgebase/biology#evolution"> <skos:prefLabel>Evolution</skos:prefLabel> <skos:scopeNote>Refers to Darwin's theory of evolution by natural selection of inherited characteristics.</skos:scopeNote> </my:BiologicalConcept> </rdf:RDF>
I.e. you can use the new class my:[[BiologicalConcept]]
exactly as you would normally use skos:Concept
.
Representing Fundamental Facets
An important use case for this type of extension is in the representation of fundamental facets within a concept scheme.
In a concept scheme ordered according to fundamental facets, each fundamental facet contains a homogeneous class of concepts, the members of which share characteristics that distinguish them from members of other classes [ref AAT].
So, for example, the Art & Architecture Thesaurus [ref] declares the following fundamental facets:
ASSOCIATED CONCEPTS PHYSICAL ATTRIBUTES STYLES AND PERIODS AGENTS ACTIVITIES MATERIALS OBJECTS
To represent fundamental facets in RDF, declare an extension of skos:Concept
for each facet, 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#"> <rdfs:Class rdf:about="http://my.example.org/knowledgebase/schema#AssociatedConcept"> <rdfs:comment>???</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> </rdfs:Class> <rdfs:Class rdf:about="http://my.example.org/knowledgebase/schema#PhysicalAttributesConcept"> <rdfs:comment>???</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> </rdfs:Class> <rdfs:Class rdf:about="http://my.example.org/knowledgebase/schema#StylesAndPeriodsConcept"> <rdfs:comment>???</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> </rdfs:Class> <rdfs:Class rdf:about="http://my.example.org/knowledgebase/schema#AgentsConcept"> <rdfs:comment>???</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> </rdfs:Class> <rdfs:Class rdf:about="http://my.example.org/knowledgebase/schema#ActivitiesConcept"> <rdfs:comment>???</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> </rdfs:Class> <rdfs:Class rdf:about="http://my.example.org/knowledgebase/schema#MaterialsConcept"> <rdfs:comment>???</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> </rdfs:Class> <rdfs:Class rdf:about="http://my.example.org/knowledgebase/schema#ObjectsConcept"> <rdfs:comment>???</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> </rdfs:Class> </rdf:RDF>
Each of these new classes can be used to declare concepts, 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:my="http://my.example.org/knowledgebase/schema#"> <my:StylesAndPeriodsConcept rdf:about="http://my.example.org/knowledgebase/concept#prehistoric"> <skos:prefLabel>Prehistoric</skos:prefLabel> <skos:scopeNote>Refers to the period antecedent to the first contemporary written accounts of a people. The time span for this period varies according to specific local habitation patterns and in different scholarly disciplines.</skos:scopeNote> </my:StylesAndPeriodsConcept> </rdf:RDF>
To support validation of your faceted concept scheme, you can use OWL to explicitly declare that a concept may not be a member of more than one fundamental facet, 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#"> <rdfs:Class rdf:about="http://my.example.org/knowledgebase/schema#AssociatedConcept"> <owl:disjointWith rdf:resource="http://my.example.org/knowledgebase/schema#PhysicalAttributesConcept"/> <owl:disjointWith rdf:resource="http://my.example.org/knowledgebase/schema#StylesAndPeriodsConcept"/> <owl:disjointWith rdf:resource="http://my.example.org/knowledgebase/schema#AgentsConcept"/> <owl:disjointWith rdf:resource="http://my.example.org/knowledgebase/schema#ActivitiesConcept"/> <owl:disjointWith rdf:resource="http://my.example.org/knowledgebase/schema#MaterialsConcept"/> <owl:disjointWith rdf:resource="http://my.example.org/knowledgebase/schema#ObjectsConcept"/> </rdfs:Class> </rdf:RDF>
Obviously a similar declaration must be made for each of the concept classes you intend to use as a fundamental facet.