Warning:
This wiki has been archived and is now read-only.
ISO Extensions to SKOS
From Government Linked Data (GLD) Working Group Wiki
Information
- SKOS extension ontology that was started by group 3 in Dagstuhl 2011 seminar on DDI and the semantic web.
- More information: [1]
Extension copy
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . # TODO Decide the namespace (and change the prefix) @prefix skosclass: <http://ddialliance.org/ontologies/skosclass#> . @prefix xml: <http://www.w3.org/XML/1998/namespace> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> . @prefix dc: <http://purl.org/dc/elements/1.1/> . ################################################################# # Ontology ################################################################# <http://ddialliance.org/ontologies/skosclass> a owl:Ontology ; dc:title "SKOS extension for the representation of classifications"@en , "Extension de SKOS pour la représentation des nomenclatures"@fr ; dc:contributor "Wendy Thomas", "Daniel Gillman", "Jannik Jensen", "Thomas Bosch", "Richard Cyganiak", "Franck Cotton" ; dc:creator "Franck Cotton" ; owl:versionInfo "Version 0.9.0 - 2011-10-05" . # TODO Probably add a reference to Dagstuhl workshop and license info ################################################################# # Classes ################################################################# # A classification is a skos:ConceptScheme and a classification level is a subclasse of skos:Collection # If the order of the items in the specific level is important, this level can also be declared as an instance of skos:OrderedCollection skosclass:ClassificationLevel a rdfs:Class, owl:Class ; rdfs:label "Classification level"@en, "Niveau de nomenclature"@fr ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> ; rdfs:subClassOf skos:Collection . # The ConceptAssociation class generalizes the semantic relations modelled as properties in SKOS # TODO : should ConceptAssociation be subclassed the same way skos:semanticRelation is (ExactMatchConceptAssociation, etc.) ? skosclass:ConceptAssociation a rdfs:Class, owl:Class ; rdfs:label "Concept association"@en , "Association de concepts"@fr ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # The ConceptAssociationCollection can be used to group concept associations in a meaningful way (eg : correspondance tables) # TODO : should ConceptAssociation be subclassed the same way skos:semanticRelation is (ExactMatchConceptAssociation, etc.) ? skosclass:ConceptAssociationCollection a rdfs:Class, owl:Class ; rdfs:label "Concept association collection"@en , "Collection d'associations de concepts"@fr ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # TODO The UML model introduces a LevelType class to which the depth and a description are attached. Did we really decide that ? ################################################################# # Data properties ################################################################# # Depth of a classification (number of hierarchically imbricated levels) ; 1 for a flat classification # TODO This property is named depth in the UML model, but I think we decided that depth was on the ClassificationLevel # TODO Find a better name for this property skosclass:numberOfLevels a rdf:Property, owl:DatatypeProperty ; rdfs:label "number of levels"@en, "nombre de niveaux"@fr ; rdfs:domain skos:ConceptScheme ; rdfs:range xsd:positiveInteger ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # Depth of a level inside a classification (1 for the highest level) # TODO This property should be attached to the ClassificationLevel in the UML model skosclass:depth a rdf:Property, owl:DatatypeProperty ; rdfs:label "depth"@en, "profondeur"@fr ; rdfs:domain skosclass:ClassificationLevel ; rdfs:range xsd:positiveInteger ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . ################################################################# # Object properties ################################################################# # List of the classification levels represented as an RDF list of ordered levels (instances of ClassificationLevel) skosclass:hasLevels a rdf:Property, owl:ObjectProperty ; rdfs:label "level list"@en, "liste des niveaux"@fr ; rdfs:domain skos:ConceptScheme ; rdfs:range rdf:List ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # TODO There is a containsClassificationLevel property in the UML model, but I think we said that skos:member could do the job # for relations between levels, and skos:inScheme for attachement of levels to a classification (ConceptScheme) # TODO Should we define a new property for the aggregation of concept associations in concept associations collections # (hasMember in the UML model), or should we use skos:member ? The latter would probably necessitate to make ConceptAssociation # a subclass of Concept and ConceptAssociationCollection a subclass of ConceptAssociation. # Properties linking concepts to concepts associations # TODO Find better names (and labels) for those two properties # TODO Express cardinalities : a ConceptAssociation should associate at least one Concept to at least one Concept skosclass:hasDomainConcept a rdf:Property, owl:ObjectProperty ; rdfs:domain skos:Concept ; rdfs:range skos:ConceptAssociation ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . skosclass:hasRangeConcept a rdf:Property, owl:ObjectProperty ; rdfs:domain skos:Concept ; rdfs:range skos:ConceptAssociation ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # Name (or nature, or type) of the items that constitute the level # TODO the property is named 'containsConcept' in the UML model skosclass:contains a rdf:Property, owl:ObjectProperty ; rdfs:label "contains"@en, "contient"@fr ; rdfs:domain skos:ConceptScheme ; rdfs:range skos:Concept ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # Domain covered by the classification (eg. activities, products, etc.) # TODO Find better names ? Harmonize property names with the UML model # TODO In the UML model, the domain is ClassificationLevel skosclass:covers a rdf:Property, owl:ObjectProperty ; rdfs:label "covers"@en, "couvre"@fr ; rdfs:domain skos:ConceptScheme ; rdfs:range skos:Concept ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # Domain covered by the classification (exhaustive coverage) skosclass:coversExhaustively a rdf:Property, owl:ObjectProperty ; rdfs:label "covers exhaustively"@en, "couvre exhaustivement"@fr ; rdfs:subPropertyOf skos:covers ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # Domain covered by the classification (mutually exclusive coverage) skosclass:coversMutuallyExclusively a rdf:Property, owl:ObjectProperty ; rdfs:label "covers mutually exclusively"@en, "couvre sans recouvrement"@fr ; rdfs:subPropertyOf skos:covers ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # Types of semantic relations from ISO 1087 : associative relations skosclass:causal a rdf:Property, owl:ObjectProperty ; rdfs:label "causes"@en, "cause"@fr ; rdfs:subPropertyOf skos:related ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . skosclass:sequential a rdf:Property, owl:ObjectProperty ; rdfs:label "has sequential"@en, "en relation séquentielle"@fr ; rdfs:subPropertyOf skos:related ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . skosclass:previous a rdf:Property, owl:ObjectProperty ; rdfs:label "previous"@en, "précédent"@fr ; rdfs:comment "immediate predecessor in the sequence"@en, "prédécesseur immédiat dans la séquence"@fr ; rdfs:subPropertyOf skos:sequential ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . skosclass:next a rdf:Property, owl:ObjectProperty ; rdfs:label "next"@en, "suivant"@fr ; rdfs:comment "immediate successor in the sequence"@en, "successeur immédiat dans la séquence" ; rdfs:subPropertyOf skos:sequential ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . skosclass:temporal a rdf:Property, owl:ObjectProperty ; rdfs:label "has temporal"@en, "en relation temporelle"@fr ; rdfs:subPropertyOf skos:sequential ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . skosclass:before a rdf:Property, owl:ObjectProperty ; rdfs:label "before"@en, "avant"@fr ; rdfs:subPropertyOf skos:temporal ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . skosclass:after a rdf:Property, owl:ObjectProperty ; rdfs:label "after"@en, "après"@fr ; rdfs:subPropertyOf skos:temporal ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # Types of semantic relations from ISO 1087 : hierarchical relations # Partitive relations and generic/specific relations # Use case identified : OIICS classification # TODO See if dcterms:hasPart and dcterms:isPartOf should be used instead or as superproperties skosclass:isPartOf a rdf:Property, owl:ObjectProperty ; rdfs:label "is a part of"@en, "est une partie de"@fr ; owl:inverseOf skosclass:hasPart ; rdfs:subPropertyOf skos:semanticRelation ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . skosclass:hasPart a rdf:Property, owl:ObjectProperty ; rdfs:label "has part"@en, "a pour partie"@fr ; owl:inverseOf skosclass:isPartOf ; rdfs:subPropertyOf skos:semanticRelation ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . skosclass:specializes a rdf:Property, owl:ObjectProperty ; rdfs:label "specializes"@en, "spécialise"@fr ; owl:inverseOf skosclass:generalizes ; rdfs:subPropertyOf skos:semanticRelation ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . skosclass:generalizes a rdf:Property, owl:ObjectProperty ; rdfs:label "generalizes"@en , "généralise"@fr ; owl:inverseOf skosclass:specializes ; rdfs:subPropertyOf skos:semanticRelation ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # Types of relations for comparison purposes # subOrdinate, superOrdinate are in fact generic/specific or part-of # TODO Dan to explain the difference between sub/super-ordinate and broader/narrower skosclass:disjoint a rdf:Property, owl:ObjectProperty ; rdfs:label "disjoint from"@en, "disjoint de"@fr ; rdfs:subPropertyOf skos:related ; rdfs:isDefinedBy <http://ddialliance.org/ontologies/skosclass> . # TODO Verify that all structural construction from SDMX (eg hierarchical code lists) can be represented # TODO Check in detail if Neuchâtel model is covered