SkosCoreGuideToc/SectionFacets
Modelling Fundamental Facets
@@TODO what are fundamental facets (a.k.a. fundamental categories)?
@@TODO example of fundamental facets in a thesaurus (AAT).
@@TODO how to model this example in RDF using RDFS, OWL and SKOS ...
This is a description of how to model 'fundamental facets' (a.k.a. 'fundamental categories') within a thesaurus.
I'll take some facets from the AAT as an example.
For each fundamental facet in the concept scheme, define a sub-class of the skos:Concept class e.g. ...
<rdf:RDF>
<rdfs:Class rdf:about="ObjectConcept">
<rdfs:subClassOf rdf:about="&skos;Concept"/>
</rdfs:Class>
<rdfs:Class rdf:about="ProcessConcept">
<rdfs:subClassOf rdf:about="&skos;Concept"/>
</rdfs:Class>
<rdfs:Class rdf:about="TimeConcept">
<rdfs:subClassOf rdf:about="&skos;Concept"/>
</rdfs:Class>
<rdfs:Class rdf:about="MaterialConcept">
<rdfs:subClassOf rdf:about="&skos;Concept"/>
</rdfs:Class>
</rdf:RDF>
... then for each fundamental facet, define the root concept for that facet e.g. ...
<rdf:RDF>
<aat:ObjectConcept rdf:about="RootObjectConcept">
<skos:prefLabel>Objects</skos:prefLabel>
</aat:ObjectConcept>
<aat:ProcessConcept rdf:about="RootProcessConcept">
<skos:prefLabel>Processes</skos:prefLabel>
</aat:ProcessConcept>
<aat:MaterialConcept rdf:about="RootMaterialConcept">
<skos:prefLabel>Materials</skos:prefLabel>
</aat:MaterialConcept>
<aat:TimeConcept rdf:about="RootTimeConcept">
<skos:prefLabel>Times</skos:prefLabel>
</aat:TimeConcept>
</rdf:RDF>
... then define these root concepts as the top concepts for your scheme, e.g. ...
<rdf:RDF>
<skos:ConceptScheme rdf:about="theAAT">
<dc:title>The Art and Architecture Thesaurus</dc:title>
<skos:hasTopConcept rdf:resource="RootObjectConcept"/>
<skos:hasTopConcept rdf:resource="RootProcessConcept"/>
<skos:hasTopConcept rdf:resource="RootMaterialConcept"/>
<skos:hasTopConcept rdf:resource="RootTimeConcept"/>
</skos:ConceptScheme>
</rdf:RDF>
Use these facet classes when describing other concepts in the scheme, e.g. ...
<rdf:RDF>
<aat:ObjectConcept rdf:about="001">
<skos:prefLabel>brocade</skos:prefLabel>
<skos:related rdf:resource="007"/>
<skos:broader rdf:resource="003"/>
</aat:ObjectConcept>
<aat:ObjectConcept rdf:about="003">
<skos:prefLabel>???</skos:prefLabel>
<skos:narrower rdf:resource="001"/>
</aat:ObjectConcept>
<aat:ProcessConcept rdf:about="007">
<skos:prefLabel>brocading</skos:prefLabel>
<skos:related rdf:resource="001"/>
</aat:ProcessConcept>
</rdf:RDF>
Now, if you want to express the fact that no concept may be a member of more than one facet (i.e. all facets are mutually disjoint classes of concept) you can use owl, e.g. ...
<rdf:RDF>
<rdf:Description rdf:about="ObjectConcept">
<owl:disjointWith rdf:resource="ProcessConcept"/>
<owl:disjointWith rdf:resource="MaterialConcept"/>
<owl:disjointWith rdf:resource="TimeConcept"/>
</rdf:Description>
<rdf:Description rdf:about="ProcessConcept">
<owl:disjointWith rdf:resource="MaterialConcept"/>
<owl:disjointWith rdf:resource="TimeConcept"/>
</rdf:Description>
<rdf:Description rdf:about="MaterialConcept">
<owl:disjointWith rdf:resource="TimeConcept"/>
</rdf:Description>
</rdf:RDF>
The End.