Toepassingsprofiel Nederlandse standaard voor het beschrijven van begrippen in RDF
type: Ontology
version info: 1.0.0
declare:
  prefix: skos
  namespace: http://www.w3.org/2004/02/skos/core#

Begrip
type: NodeShape
comment: Een abstract idee of notie.
comment: An idea or notion; a unit of thought. @en
property: voorbeeld
property: comment
property: bron
property: zoekterm
property: is gerelateerd aan
property: Code
property: heeft bovenliggend begrip
property: heeft onderliggend begrip
property: in kader
property: is topbegrip van
property: is vrijwel overeenkomstig
property: naam
property: redactionele notitie
property: Voorkeursterm
property: historie notitie
property: alternatieve term
property: wijzigingsnotitie
property: toelichting
property: definitie
property: is categorie van
property: is exact overeenkomstig
property: heeft overeenkomstig onderliggend
property: is overeenkomstig verwant
property: omvat
property: Is onderdeel van
property: Is specialisatie van
property: is exemplaar van
property: Is generalisatie van
property: heeft overeenkomstig bovenliggend
sparql: OrphanConcept
sparql: TopConceptHavingBroader
sparql: UnambiguousNotations
sparql: UniquePreflabelWithinConceptScheme
target class: Concept

Brondocument
type: NodeShape
comment: Een Bron is een document, of fragment van een document, die als bron dient voor een bepaald begrip.
target objects of: source
property: naam
property: uitleg
property: url
property: bronverwijzing

Collectie
type: NodeShape
comment: Een verzameling concepten met een samenhangende betekenis.
comment: A meaningful collection of concepts. @en
label: Collection @en
property: bevat
property: naam
property: Collection-comment
target class: Collection

Begrippenkader
type: NodeShape
comment: Een verzameling concepten en (optioneel) semantische relaties tussen de concepten
comment: A set of concepts, optionally including statements about semantic relationships between those concepts. @en
name: Begrippenkader
name: ConceptScheme @en
label: ConceptScheme @en
property: heeft topbegrip
property: naam
property: ConceptScheme-comment
target class: ConceptScheme

Termen en beschrijvingen
type: PropertyGroup
label: Labels and Description @en
order: 0

Definitie
type: PropertyGroup
label: Definition @en
order: 1

Semantische relaties
type: PropertyGroup
label: Semantic Relationships @en
order: 2

Notities
type: PropertyGroup
label: Notes @en
order: 3

Harmonisatierelaties
type: PropertyGroup
label: Matching Relationships @en
order: 4

Iso-thes relaties
type: PropertyGroup
label: Iso-thes Relationships @en
order: 5

is gerelateerd aan
type: PropertyShape
class: Concept
description: Een concept met een associatieve semantische relatie
description: Relates a concept to a concept with which there is an associative semantic relationship. @en
disjoint: broader
disjoint: narrower
group: Semantische relaties
name: has related @en
name: is gerelateerd aan
order: 22
node kind: IRI
severity: Warning
path: related

definitie
type: PropertyShape
datatype: langString
description: A statement or formal explanation of the meaning of a concept. @en
description: Een definitie van een begrip is een tekstuele beschrijving van de betekenis van dit begrip waarmee het begrip kan worden onderscheiden van andere begrippen.
group: Definitie
min count: 1
name: definitie
order: 10
node kind: Literal
path: definition
severity: Violation

is categorie van
type: PropertyShape
class: Concept
description: Relateert een begrip, de categorie, aan een begrip dat exemplarisch is voor eerstgenoemde begrip.
group: Iso-thes relaties
name: is categorie van
order: 56
node kind: IRI
severity: Warning
path: narrowerInstantial

wijzigingsnotitie
type: PropertyShape
description: A note about a modification to a concept. @en
description: Notitie over een wijziging aan het concept
name: change note @en
name: wijzigingsnotitie
group: Notities
order: 31
node kind: Literal
path: changeNote
severity: Warning
datatype: langString

heeft overeenkomstig bovenliggend
type: PropertyShape
class: Concept
description: skos:broadMatch is used to state a hierarchical mapping link between two conceptual resources in different concept schemes. @en
description: Used to state a hierarchical mapping link between two conceptual resources in different concept schemes. @en
disjoint: narrowMatch
disjoint: closeMatch
disjoint: exactMatch
disjoint: relatedMatch
group: Harmonisatierelaties
name: heeft overeenkomstig bovenliggend
order: 40
node kind: IRI
severity: Warning
path: broadMatch

heeft overeenkomstig onderliggend
type: PropertyShape
class: Concept
disjoint: broadMatch
disjoint: closeMatch
disjoint: exactMatch
disjoint: relatedMatch
group: Harmonisatierelaties
name: heeft overeenkomstig onderliggend
order: 41
node kind: IRI
severity: Warning
path: narrowMatch

heeft bovenliggend begrip
type: PropertyShape
class: Concept
description: Relateert een begrip aan een bovenliggend begrip in de hierarchie.
description: Relates a concept to a concept that is more general in meaning. @en
group: Semantische relaties
name: heeft bovenliggend begrip
order: 20
node kind: IRI
disjoint: related
severity: Warning
path: broader

heeft onderliggend begrip
type: PropertyShape
class: Concept
description: Relateert een begrip aan een onderliggend begrip in de hierarchie.
description: Relates a concept to a concept that is more specific in meaning. @en
group: Semantische relaties
name: heeft onderliggend begrip
order: 21
node kind: IRI
disjoint: related
severity: Warning
path: narrower

voorbeeld
type: PropertyShape
description: An example of the use of a concept. @en
description: Een voorbeeld van het gebruik van het concept.
group: Notities
name: example @en
name: voorbeeld
order: 35
or:
  datatype: langString
or:
  datatype: string
node kind: Literal
severity: Warning
path: example

omvat
type: PropertyShape
class: Concept
description: Relateert een begrip aan een minder omvattend begrip. Voorbeelden van eerstgenoemde begrip zullen bestaan uit voorbeelden van het minder omvattende begrip zijn.
group: Iso-thes relaties
name: omvat
order: 54
node kind: IRI
severity: Warning
path: narrowerPartitive

zoekterm
type: PropertyShape
description: A lexical label for a resource that should be hidden when generating visual displays of the resource, but should still be accessible to free text search operations. @en
group: Termen en beschrijvingen
name: zoekterm
order: 2
datatype: langString
node kind: Literal
severity: Warning
path: hiddenLabel
disjoint: altLabel
disjoint: prefLabel

is overeenkomstig verwant
type: PropertyShape
class: Concept
description: skos:relatedMatch is used to state an associative mapping link between two conceptual resources in different concept schemes. @en
description: Used to state an associative mapping link between two conceptual resources in different concept schemes. @en
group: Harmonisatierelaties
name: is overeenkomstig verwant
disjoint: broadMatch
disjoint: closeMatch
disjoint: exactMatch
disjoint: narrowMatch
order: 44
node kind: IRI
severity: Warning
path: relatedMatch

Voorkeursterm
type: PropertyShape
datatype: langString
description: The preferred lexical label for a resource, in a given language. @en
disjoint: altLabel
disjoint: hiddenLabel
group: Termen en beschrijvingen
min count: 1
name: voorkeursterm
order: 0
path: prefLabel
node kind: Literal
unique lang: true
severity: Violation

Is onderdeel van
type: PropertyShape
class: Concept
description: Relateert een begrip aan een meer omvattend begrip. Voorbeelden van eerstgenoemde begrip zullen onderdeel van voorbeelden van het meer omvattende begrip zijn.
group: Iso-thes relaties
name: is onderdeel van
order: 53
node kind: IRI
severity: Warning
path: broaderPartitive

is exact overeenkomstig
type: PropertyShape
class: Concept
description: Used to link two concepts, indicating a high degree of confidence that the concepts can be used interchangeably across a wide range of information retrieval applications. skos:exactMatch is a transitive property, and is a sub-property of skos:closeMatch. @en
disjoint: broadMatch
disjoint: closeMatch
disjoint: narrowMatch
disjoint: relatedMatch
group: Harmonisatierelaties
name: is exact overeenkomstig
order: 43
node kind: IRI
severity: Warning
path: exactMatch

in kader
type: PropertyShape
class: ConceptScheme
group: Termen en beschrijvingen
min count: 1
name: in kader
order: 6
node kind: IRI
severity: Violation
path: inScheme

is topbegrip van
type: PropertyShape
class: ConceptScheme
group: Semantische relaties
name: is topbegrip van
order: 23
node kind: IRI
severity: Warning
path: topConceptOf

alternatieve term
type: PropertyShape
description: An alternative lexical label for a resource. @en
description: Een alternatieve term voor een begrip is een term die gebruikt kan worden als alternatief voor de voorkeursterm van dit begrip, maar niet de voorkeur heeft.
disjoint: hiddenLabel
disjoint: prefLabel
group: Termen en beschrijvingen
name: alternatieve term
datatype: langString
order: 1
node kind: Literal
severity: Warning
path: altLabel

Is specialisatie van
type: PropertyShape
class: Concept
description: Relateert een begrip aan een meer generieker begrip
group: Iso-thes relaties
name: is specialisatie van
order: 51
node kind: IRI
severity: Warning
path: broaderGeneric

Is generalisatie van
type: PropertyShape
class: Concept
description: Relateert een begrip aan een meer specifieker begrip
group: Iso-thes relaties
name: is generalisatie van
order: 52
node kind: IRI
severity: Warning
path: narrowerGeneric

historie notitie
type: PropertyShape
description: Notitie over de voormalige status/gebruik/betekenis van het begrip
description: A note about the past state/use/meaning of a concept. @en
group: Notities
name: history note @en
name: historie notitie
order: 33
datatype: langString
node kind: Literal
severity: Warning
path: historyNote

bron
type: PropertyShape
description: Een bron voor een begrip is een gerelateerde brondocument waaruit de betekenis van het begrip is afgeleid.
group: Definitie
name: bron
order: 11
node kind: BlankNodeOrIRI
severity: Warning
node: Brondocument
path: source

comment
type: PropertyShape
comment: Een begrip heeft bij voorkeur een uitleg in 'klare taal'.
comment: Preferably a concept has a comment in 'clear language'. @en
group: Termen en beschrijvingen
name: uitleg
name: comment @en
order: 5
datatype: langString
node kind: Literal
severity: Warning
path: comment

redactionele notitie
type: PropertyShape
description: A note for an editor, translator or maintainer of the vocabulary. @en
group: Notities
name: redactionele notitie
name: editorial note @en
datatype: langString
order: 32
node kind: Literal
severity: Warning
path: editorialNote

is exemplaar van
type: PropertyShape
class: Concept
description: Relateert een begrip, een exemplaar, aan een ander begrip, de categorie, waartoe eerstgenoemde begrip behoort.
group: Iso-thes relaties
name: is exemplaar van
order: 55
node kind: IRI
severity: Warning
path: broaderInstantial

toelichting
type: PropertyShape
description: A note that helps to clarify the meaning and/or the use of a concept. @en
group: Notities
name: toelichting
name: scope note @en
datatype: langString
order: 34
node kind: Literal
severity: Warning
path: scopeNote

is vrijwel overeenkomstig
type: PropertyShape
class: Concept
description: Used to link two concepts that are sufficiently similar that they can be used interchangeably in some information retrieval applications. In order to avoid the possibility of "compound errors" when combining mappings across more than two concept schemes, skos:closeMatch is not declared to be a transitive property. @en
group: Harmonisatierelaties
disjoint: broadMatch
disjoint: exactMatch
disjoint: narrowMatch
disjoint: relatedMatch
name: is vrijwel overeenkomstig
order: 42
node kind: IRI
severity: Warning
path: closeMatch

Code
type: PropertyShape
description: A notation, also known as classification code, is a string of characters such as "T58.5" or "303.4833" used to uniquely identify a concept within the scope of a given concept scheme. @en
group: Termen en beschrijvingen
name: code
order: 3
node kind: Literal
severity: Warning
path: notation

naam
type: PropertyShape
datatype: string
description: Een naam is een voor mensen leesbare term ter aanduiding van het begrip.
group: Termen en beschrijvingen
name: naam
order: 4
node kind: Literal
severity: Warning
path: label

naam
type: PropertyShape
datatype: langString
description: Een naam is een voor mensen leesbare term ter aanduiding van het brondocument.
group: Termen en beschrijvingen
min count: 1
name: naam
order: 4
node kind: Literal
severity: Info
path: title

uitleg
type: PropertyShape
datatype: langString
description: Uitgebreide, voor de mens leesbare beschrijving van de bron
group: Termen en beschrijvingen
name: uitleg
order: 5
node kind: Literal
severity: Warning
path: comment

url
type: PropertyShape
description: Vindplaats van de bron op internet.
group: Termen en beschrijvingen
name: url
order: 7
node kind: IRI
severity: Warning
path: page

bronverwijzing
type: PropertyShape
description: Een reeks gegevens waarmee een document of fragment daarvan gevonden kan worden. Er bestaan verschillende citeerstijlen zoals IEEE, APA of MLA.
group: Termen en beschrijvingen
name: bronverwijzing
order: 8
node kind: Literal
datatype: string
severity: Warning
path: bibliographicCitation

naam
type: PropertyShape
datatype: langString
description: Een naam is een voor mensen leesbare term ter aanduiding van de collectie.
group: Termen en beschrijvingen
min count: 1
name: naam
order: 4
node kind: Literal
severity: Warning
path: prefLabel

bevat
type: PropertyShape
or:
  class: Concept
or:
  class: Collection
description: Relates a collection to one of its members. @en
description: Relateert een collectie aan een begrip dat onderdeel is van deze collectie.
name: bevat
node kind: IRI
severity: Warning
path: member

Collection-comment
type: PropertyShape
group: Termen en beschrijvingen
name: uitleg
name: comment @en
order: 5
datatype: langString
severity: Warning
path: comment

heeft topbegrip
type: PropertyShape
name: heeft topbegrip
class: Concept
description: Relateert, bij conventie, een begrippenkader met een begrip dat is de top van een taxonomie.
description: Relates, by convention, a concept scheme to a concept which is topmost in the broader/narrower concept hierarchies for that scheme, providing an entry point to these hierarchies. @en
group: Semantische relaties
order: 20
node kind: IRI
severity: Warning
path: hasTopConcept

ConceptScheme-comment
type: PropertyShape
group: Termen en beschrijvingen
name: uitleg
name: comment @en
order: 5
datatype: langString
severity: Warning
path: comment

naam
type: PropertyShape
datatype: langString
description: Een naam is een voor mensen leesbare term ter aanduiding van het begrippenkader.
group: Termen en beschrijvingen
min count: 1
name: naam
order: 4
node kind: Literal
severity: Warning
path: title

DisjointConceptAndConceptScheme
type: NodeShape
target class: Concept
sparql:
  prefixes: Toepassingsprofiel Nederlandse standaard voor het beschrijven van begrippen in RDF
  message: Een begrip kan niet ook een begrippenkader zijn.
  select: SELECT $this WHERE { $this a skos:ConceptScheme }

:DisjointConceptAndCollection
type: NodeShape
target subjects of: narrower
target subjects of: broader
target subjects of: related
sparql:
  prefixes: Toepassingsprofiel Nederlandse standaard voor het beschrijven van begrippen in RDF
  message: Een begrip kan niet ook een collectie zijn.
  select: SELECT $this WHERE { $this a skos:Collection . }

DisjointConceptSchemeAndCollection
type: NodeShape
target objects of: topConceptOf
target objects of: inScheme
sparql:
  prefixes: Toepassingsprofiel Nederlandse standaard voor het beschrijven van begrippen in RDF
  message: Een begrippenkader kan niet ook een collectie zijn.
  select: SELECT $this WHERE { $this a skos:Collection }

MappingRelationsMisuse
type: NodeShape
target subjects of: broadMatch
target subjects of: closeMatch
target subjects of: exactMatch
target subjects of: narrowMatch
target subjects of: relatedMatch
sparql:
  prefixes: Toepassingsprofiel Nederlandse standaard voor het beschrijven van begrippen in RDF
  message: Harmonisatierelaties mogen niet gebruikt worden tussen begrippen die tot hetzelfde begrippenkader behoren.
  message: Mapping relations should be asserted to concepts being members of different concept schemes @en
  select: SELECT $this WHERE { $this skos:broadMatch | skos:closeMatch | skos:exactMatch | skos:narrowMatch | skos:relatedMatch ?concept ; skos:inScheme ?cs . ?concept skos:inScheme ?cs . }

SemanticRelations
type: NodeShape
target objects of: broader
target objects of: narrower
target objects of: related
target subjects of: broader
target subjects of: narrower
target subjects of: related
target objects of: broadMatch
target objects of: closeMatch
target objects of: exactMatch
target objects of: narrowMatch
target objects of: relatedMatch
target subjects of: broadMatch
target subjects of: closeMatch
target subjects of: exactMatch
target subjects of: narrowMatch
target subjects of: relatedMatch
sparql:
  prefixes: Toepassingsprofiel Nederlandse standaard voor het beschrijven van begrippen in RDF
  message: Semantische relaties verwijzen altijd van en naar begrippen.
  select: SELECT $this WHERE { FILTER NOT EXISTS { $this a skos:Concept } }

UnambiguousNotations
type: SPARQLConstraint
message: Begrippen binnen een begrippenkader mogen geen codes delen.
message: Duplicate notations within concept scheme @en
severity: Violation
prefixes: Toepassingsprofiel Nederlandse standaard voor het beschrijven van begrippen in RDF
select: SELECT $this WHERE { $this skos:notation ?value . ?other skos:notation ?value . ?this skos:inScheme ?cs . ?other skos:inScheme ?cs . FILTER (?this != ?other) }

UniquePreflabelWithinConceptScheme
type: SPARQLConstraint
message: Duplicate preffered labels within concept scheme. @en
message: meerdere begrippen met dezelfde voorkeursterm binnen een begrippenkader @en
severity: Violation
prefixes: Toepassingsprofiel Nederlandse standaard voor het beschrijven van begrippen in RDF
select: SELECT $this WHERE { $this skos:prefLabel ?value . ?other skos:prefLabel ?value . ?this skos:inScheme ?cs . ?other skos:inScheme ?cs . FILTER (?this != ?other) }

TopConceptHavingBroader
type: SPARQLConstraint
prefixes: Toepassingsprofiel Nederlandse standaard voor het beschrijven van begrippen in RDF
message: Een topbegrip mag geen bovenliggende begrippen kennen.
severity: Violation
select: SELECT $this WHERE { ?this skos:topConceptOf|^skos:hasTopConcept ?cs ; skos:broader ?other . }

OrphanConcept
type: SPARQLConstraint
prefixes: Toepassingsprofiel Nederlandse standaard voor het beschrijven van begrippen in RDF
message: Het begrip is geen topbegrip maar heeft ook geen bovenliggende of gerelateerde begrippen.
select: SELECT $this WHERE { $this a skos:Concept . FILTER NOT EXISTS { ?this skos:topConceptOf|^skos:hasTopConcept ?cs . } FILTER NOT EXISTS { ?this skos:broader | ^skos:broader | skos:narrower | ^skos:narrower | skos:related | ^skos:related ?other . } }
severity: Warning