The constraints of XKOS-AP-NO
access URL: https://github.com/Informasjonsforvaltning/xkos-ap-no/shacl/
status: Completed
format: RDF TURTLE
conforms to: shacl
creator: Norwegian Digitalisation Agency
  name: Digitaliseringsdirektoratet @nb
license: CC BY 4 0
modified: 2022-06-28
commet: Validated SUCCESS at https://www.itb.ec.europa.eu/shacl/shacl/upload
publisher: https://organization-catalog.fellesdatakatalog.digdir.no/organizations/991825827
description: This document specifies the constraints on properties and classes expressed by XKOS-AP-NO
version info: 1.0
version info: Completed, for v.1.0 of XKOS-AP-NO
maker: Informasjonsforvaltning, Digitaliseringsdirektoratet

ConceptScheme Shape
type: NodeShape
property:
  name: antall nivå @nb
  name: number of levels
  path: numberOfLevels
  datatype: positiveInteger
  min count: 1
  max count: 1
  severity: Violation
  message: Antall nivå (xkos:numberOfLevels) skal ha min. 1 og maks. 1 verdi, som skal være positiv integer @nb
  message: Number of levels (xkos:numberOfLevels) shall have min. 1 and max. 1 value which shall be a positive integer
property: propertyShape min1max1dctIdentfier
property: propertyShape min1dctTitle
property: propertyShape min1max1dctPublisher
property: propertyShape dctDescription
property: propertyShape xkosCovers
property: propertyShape xkosCoversMutuallyExclusively
property: propertyShape xkosCoversExhaustively
property:
  name: erstatter @nb
  name: supersedes
  path: supersedes
  class: ConceptScheme
  severity: Violation
  message: Erstatter (skos:ConceptScheme) kan ha maks. 1 verdi som skal referere til en instans av skos:ConceptScheme @nb
  message: Supersedes (skos:ConceptScheme) may have max. 1 value which shall refer to an instance of skos:ConceptScheme
property:
  name: gyldig fra og med @nb
  name: valid from inclusive
  path: validFrom
  node: DateOrDateTimeDataType Shape
  max count: 1
  severity: Violation
  message: Gyldig fra og med (schema:validFrom) kan ha maks. 1 verdi som skal være enten xsd:date eller xsd:dateTime @nb
  message: Valid from inclusive (schema:validFrom) may have max. 1 value which shall be either xsd:date or xsd:dateTime
property:
  name: gyldig til og med @nb
  name: valid through inclusive
  path: validThrough
  node: DateOrDateTimeDataType Shape
  max count: 1
  severity: Violation
  message: Gyldig til og med (schema:validThrough) kan ha maks. 1 verdi som skal være enten xsd:date eller xsd:dateTime @nb
  message: Valid through inclusive (schema:validThrough) may have max. 1 value which shall be either xsd:date or xsd:dateTime
property:
  name: har klassifikasjonsnivå @nb
  name: level list
  path: levels
  class: List
  max count: 1
  severity: Violation
  message: Har klassifikasjonsnivå (xkos:levels) kan ha maks. 1 verdi som skal referere til en instans av rdf:List @nb
  message: Level list (xkos:levels) may have max. 1 value which shall refer to an instance of rdf:List
property:
  name: inneholder kategori @nb
  name: contains classification items
  path: contains
  class: Concept
  severity: Violation
  message: Inneholder kategori (uneskos:contains) skal referere til en instans av skos:Concept @nb
  message: Contains classification items (uneskos:contains) shall refer to an instance of skos:Concept
property: propertyShape max1dctModified
property: propertyShape dctLanguage
property: propertyShape max1dctIssued
property:
  name: har variant @nb
  name: variant
  path: variant
  class: ConceptScheme
  severity: Violation
  message: Har variant (xkos:variants) skal referere til en instans av skos:ConceptScheme @nb
  message: Variant (xkos:variant) shall refer to an instance of skos:ConceptScheme
property: propertyShape dctCreator
property:
  name: tilhører @nb
  name: belongs to
  path: belongsTo
  node kind: IRI
  severity: Violation
  message: Tilhøre (xkos:belongsTo) skal referere til en instans av skos:Concept @nb
  message: Belongs to (xkos:belongsTo) shall refer to an instance of skos:Concept
target class: ConceptScheme

ClassificationLevel Shape
type: NodeShape
property:
  name: nivånummer @nb
  name: depth
  path: depth
  datatype: positiveInteger
  min count: 1
  max count: 1
  severity: Violation
  message: Nivånummere (xkos:depth) skal ha min. 1 og maks. 1 verdi som skal være positiv integer @nb
  message: Depth (xkos:depth) shall have min. 1 and max. 1 value which shall be a positive intetger
property:
  name: inneholder kategori @nb
  name: member
  path: member
  class: Concept
  min count: 1
  severity: Violation
  message: inneholder kategori (skos:member) skal ha min. 1 verdi som skal referere til en instans av skos:Concept @nb
  message: Member (skos:member) shall have min. 1 value which shall refer to an instance of skos:Concept
property: propertyShape xkosCovers
property: propertyShape xkosCoversMutuallyExclusively
property: propertyShape xkosCoversExhaustively
property:
  name: er klassifisert innen @nb
  name: organized by
  path: organizedBy
  max count: 1
  node kind: IRI
  severity: Violation
  message: Er klassifisert innen (xkos:organizedBy) kan ha maks. 1 verdi som skal referere til en instans av skos:Concept @nb
  message: Organized by (xkos:organizedBy) may have max. 1 value which shall refer to an instance of skos:Concept
property:
  name: kodemønster @nb
  name: notation pattern
  path: notationPattern
  node kind: Literal
  severity: Violation
  message: Kodemønster (xkos:notationPattern) skal være Literal @nb
  message: Notation pattern (xkos:notationPattern) shall be a Literal
target class: ClassificationLevel

Concept Shape
type: NodeShape
property:
  name: anbefalt kategorinavn @nb
  name: official label
  path: prefLabel
  node kind: Literal
  min count: 1
  severity: Violation
  message: Anbefalt kategorinavn (skos:prefLabel) skal ha min. 1 verdi som skal være Literal @nb
  message: Official label (skos:prefLabel) shall have min. 1 value which shall be a Literal
property:
  name: er i klassifikasjon @nb
  name: in classification
  path: inScheme
  class: ConceptScheme
  min count: 1
  severity: Violation
  message: Er i klassifikasjon (skos:inScheme) skal ha min. 1 verdi som skal referere til en instans av skos:ConceptScheme @nb
  message: In classification (skos:inScheme) shall have min. 1 value which shall refer to an instance of skos:ConceptScheme
property:
  name: er første kategori i @nb
  name: first category
  path: topConceptOf
  class: ConceptScheme
  severity: Violation
  message: Er første kategori i (skos:topConceptOf) skal referere til en instans av skos:ConceptScheme @nb
  message: First category (skos:topConceptOf) shall refer to an instance of skos:ConceptScheme
property:
  name: hovedinnhold @nb
  name: first category
  path: coreContentNote
  node kind: Literal
  severity: Violation
  message: Hovedinnhold (xkos:coreContentNote) skal være Literal @nb
  message: Core content note (xkos:coreContentNote) shall be a Literal
property: propertyShape max1dctIdentfier
property:
  name: kode @nb
  name: code
  path: notationr
  node kind: Literal
  severity: Violation
  message: Kode (skos:notation) skal være Literal @nb
  message: Code (skos:notation) shall be a Literal
property:
  name: Refererer til begrep @nb
  name: concept
  path: subject
  node kind: IRI
  max count: 1
  severity: Violation
  message: Refererer til begrep (dct:subject) kan ha maks. 1 verdi som skal referere til en instans av skos:Concept @nb
  message: Concept (dct:subject) may have max. 1 value which shal refer to an instance of skos:Concept
property:
  name: tilleggsinnhold @nb
  name: additional content note
  path: additionalContentNote
  node kind: Literal
  severity: Violation
  message: Tilleggsinnhold (xkos:additionalContentNote) skal være Literal @nb
  message: Additional content note (xkos:additionalContentNote) shall be a Literal
property:
  name: består av @nb
  name: has part
  path: hasPart
  class: Concept
  severity: Violation
  message: Består av (xkos:hasPart) skal referere til en instans av skos:Concept @nb
  message: Has part (xkos:hasPart) shall refer to an instance of skos:Concept
property:
  name: definisjon @nb
  name: definition
  path: definition
  node kind: Literal
  severity: Violation
  message: Definisjon (skos:definition) skal være Literal @nb
  message: Definition (skos:definition) shall be a Literal
property:
  name: eksempel @nb
  name: definition
  path: example
  node kind: Literal
  severity: Violation
  message: Eksempel (skos:example) skal være Literal @nb
  message: Example (skos:example) shall be a Literal
property:
  name: eksklusjonsmerknad @nb
  name: exclusion note
  path: exclusionNote
  node kind: Literal
  severity: Violation
  message: Eksklusjonsmerknad (skos:exclusionNote) skal være Literal @nb
  message: Exclusion note (skos:exclusionNote) shall be a Literal
property:
  name: er del av @nb
  name: is part of
  path: isPartOf
  class: Concept
  severity: Violation
  message: Er del av (xkos:isPartOf) skal referere til en instans av skos:Concept @nb
  message: Is part of (xkos:isPartOf) shall refer to an instance of skos:Concept
property:
  name: forrige kategori @nb
  name: previous
  path: previous
  class: Concept
  max count: 1
  severity: Violation
  message: Forrige kategori (xkos:previous) kan ha maks. 1 verdi som skal referere til en instans av skos:Concept @nb
  message: Previous (xkos:previous) may have max. 1 value which shall refer to an instance of skos:Concept
property:
  name: frarådet kategorinavn @nb
  name: hidden label
  path: hiddenLabel
  node kind: Literal
  severity: Violation
  message: Frarådet kategorinavn (skos:hiddenLabel) skal være Literal @nb
  message: Hidden label (skos:hiddenLabel) shall be a Literal
property:
  name: generaliserer @nb
  name: generalizes
  path: generalizes
  class: Concept
  severity: Violation
  message: Generaliserer (xkos:generalizes) skal referere til en instans av skos:Concept @nb
  message: Generalizes (xkos:generalizes) shall refer to an instance of skos:Concept
property:
  name: inklusjonsmerknad @nb
  name: inclusion note
  path: inclusionNote
  node kind: Literal
  severity: Violation
  message: Inklusjonsmerknad (xkos:inclusionNote) skal være Literal @nb
  message: Inclusion note (xkos:inclusionNote) shall be a Literal
property:
  name: maksimum kodelengde @nb
  name: max length
  path: maxLength
  datatype: positiveInteger
  max count: 1
  severity: Violation
  message: Maksimum kodelengde (xkos:maxLength) kan ha maks. 1 verdi, som skal være positiv integer @nb
  message: Max length (xkos:maxLength) may have max. 1 value which shall be a positive integer
property:
  name: merknad @nb
  name: note
  path: note
  node kind: Literal
  severity: Violation
  message: Merknad (skos:note) skal være Literal @nb
  message: Note (skos:note) shall be a Literal
property:
  name: neste kategori @nb
  name: next
  path: next
  class: Concept
  max count: 1
  severity: Violation
  message: Neste kategori (xkos:next) kan ha maks. 1 verdi som skal referere til en instans av skos:Concept @nb
  message: Next (xkos:next) may have max. 1 value which shall refer to an instance of skos:Concept
property:
  name: spesialiserer @nb
  name: specializes
  path: specializes
  class: Concept
  severity: Violation
  message: Spesialiserer (xkos:specializes) skal referere til en instans av skos:Concept @nb
  message: Specializes (xkos:specializes) shall refer to an instance of skos:Concept
property:
  name: tillatt kategorinavn @nb
  name: alternative label
  path: altLabel
  node kind: Literal
  severity: Violation
  message: Tillatt kategorinavn (skos:altLabel) skal være Literal @nb
  message: Alternative label (skos:altLabel) shall be a Literal
target class: Concept

Correspondence Shape
type: NodeShape
property:
  name: har kategorisammenligning @nb
  name: official label
  path: madeOf
  class: ConceptAssociation
  min count: 1
  severity: Violation
  message: Har kategorisammenligning (xkos:madeOf) skal ha min. 1 verdi som skal referere til en instans av xkos:ConceptAssociation @nb
  message: Made of (xkos:madeOf) shall have min. 1 value which shall refer to an instance of xkos:ConceptAssociation
property: propertyShape min1max1dctIdentfier
property: propertyShape min1dctTitle
property:
  name: sammenligner @nb
  name: compares
  path: compares
  class: ConceptScheme
  min count: 2
  max count: 2
  severity: Violation
  message: Sammenligner (xkos:compares) skal ha min. 2 og maks. 2 verdi, som begge skal referere til en instans av skos:ConceptScheme @nb
  message: Compares (xkos:compares) shall have min. 2 and max. 2 value which both shall refere to an intance of skos:ConceptScheme
property: propertyShape min1max1dctPublisher
property: propertyShape dctDescription
property: propertyShape max1dctModified
property: propertyShape dctLanguage
property: propertyShape max1dctIssued
target class: Correspondence

ConceptAssociation Shape
type: NodeShape
property:
  name: har kildekategori @nb
  name: source category
  path: sourceConcept
  class: Concept
  severity: Violation
  message: Har kildekategori (xkos:sourceConcept) skal referere til en instans av skos:Concept @nb
  message: Source category (xkos:sourceConcept) shall refer to an instance of skos:Concept
property:
  name: har målkategori @nb
  name: target category
  path: targetConcept
  class: Concept
  severity: Violation
  message: Har målkategori (xkos:targetConcept) skal referere til en instans av skos:Concept @nb
  message: Target category (xkos:targetConcept) shall refer to an instance of skos:Concept
property:
  name: type endring @nb
  name: change type
  path: type
  node kind: IRI
  max count: 1
  severity: Violation
  message: Type endring (dct:type) kan ha maks. 1 verdi som skal referere til en instans av skos:Concept @nb
  message: Change type (dct:type) may have max. 1 value which shall refer to an instance of skos:Concept
target class: ConceptAssociation

List Shape
type: NodeShape
property:
  name: RDF første @nb
  name: RDF first
  path: first
  class: ClassificationLevel
  max count: 1
  severity: Violation
  message: RDF første (rdf:first) skal ha min. 1 og maks. 1 verdi som skal referere til en instans av xkos:ClassificationLevel @nb
  message: RDF first (rdf:first) shall have min. 1 and max. 1 value which shall refer to an instance of xkos:ClassificationLevel
property:
  name: RDF rest @nb
  path: rest
  class: List
  max count: 1
  severity: Violation
  message: RDF rest (rdf:rest) skal ha min. 1 og maks. 1 verdi som skal referere til en instans av rdf:List eller rdf:nil @nb
  message: RDF rest (rdf:rest) shall have min. 1 and max. 1 value which shall refer to an instance of rdf:List or rdf:nil
target class: List

propertyShape dctCreator
type: PropertyShape
name: produsent @nb
name: creator
path: creator
or:
  class: Agent
or:
  class: RegisteredOrganization
severity: Violation
message: Produsent (dct:creator) skal referere til en instans av foaf:Agent @nb
message: Creator (dct:creator) shall refer to an instance of foaf:Agent

propertyShape dctDescription
type: PropertyShape
name: beskrivelse @nb
name: description
path: description
node kind: Literal
severity: Violation
message: Beskrivelse (dct:description) skal være en Literal @nb
message: Description (dct:description) shall be a Literal

propertyShape min1max1dctIdentfier
type: PropertyShape
name: identifikator @nb
name: identifier
path: identifier
node kind: IRIOrLiteral
min count: 1
max count: 1
severity: Violation
message: Identifikator (dct:identifier) skal ha min. 1 og maks. 1 verdi, som skal være en URI @nb
message: Identifier (dct:identifier) shall have min. 1 and max. 1 value which shall be an URI

propertyShape max1dctIdentfier
type: PropertyShape
name: identifikator @nb
name: identifier
path: identifier
node kind: IRIOrLiteral
max count: 1
severity: Violation
message: Identifikator (dct:identifier) kan ha maks. 1 verdi som skal være en URI @nb
message: Identifier (dct:identifier) may have max. 1 value which shall be an URI

propertyShape max1dctIssued
type: PropertyShape
name: tilgjengeliggjøringsdato @nb
name: issued
path: issued
node: DateOrDateTimeDataType Shape
max count: 1
severity: Violation
message: Tilgjengeliggjøringsdato (dct:issued) kan ha maks. 1 verdi som skal være enten xsd:date eller xsd:dateTime @nb
message: Issued (dct:issued) may have max. 1 value which shall be either xsd:date or xsd:dateTime

propertyShape dctLanguage
type: PropertyShape
name: språk @nb
name: language
path: language
node kind: IRI
or:
  pattern: ^http://publications.europa.eu/resource/authority/language/
or:
  pattern: ^https://publications.europa.eu/resource/authority/language/
severity: Violation
message: Språk (dct:language) skal ha URI som verdi og som hentet fra http(s)://publications.europa.eu/resource/authority/language/ @nb
message: Language (dct:language) shal be an URI which refers to a value from http(s)://publications.europa.eu/resource/authority/language/

propertyShape max1dctModified
type: PropertyShape
name: sist oppdatert @nb
name: modified
path: modified
node: DateOrDateTimeDataType Shape
max count: 1
severity: Violation
message: Sist oppdatert (dct:modified) kan ha maks. 1 verdi som skal være enten xsd:date eller xsd:dateTime @nb
message: Modified (dct:modified) may have max. 1 value which shall be either xsd:date or xsd:dateTime

propertyShape min1max1dctPublisher
type: PropertyShape
name: utgiver @nb
name: publisher
path: publisher
or:
  class: Agent
or:
  class: RegisteredOrganization
min count: 1
max count: 1
severity: Violation
message: Utgiver (dct:publisher) skal ha min. 1 og maks. 1 verdi, som skal referere til en instans av foaf:Agent @nb
message: Publisher (dct:publisher) shall have min. 1 and max. 1 value which shall refer to an instance of foaf:Agent

propertyShape min1dctTitle
type: PropertyShape
name: navn @nb
name: name
path: title
node kind: Literal
min count: 1
severity: Violation
message: Navn (dct:title) skal ha min. 1 verdi som skal være en Literal @nb
message: Name (dct:title) shall have min. 1 value which shall be a Literal

propertyShape xkosCovers
type: PropertyShape
name: dekker @nb
name: covers
path: covers
node kind: IRI
severity: Violation
message: Dekker (xkos:covers) skal referere til en instans av skos:Concept @nb
message: Covers (xkos:covers) shall refer to an instance of skos:Concept

propertyShape xkosCoversMutuallyExclusively
type: PropertyShape
name: dekker gjensidig utelukkende @nb
name: covers mutually exclusively
path: coversMutuallyExclusively
node kind: IRI
severity: Violation
message: Dekker gjensidig utelukkende (xkos:coversMutuallyExclusively) skal referere til en instans av skos:Concept @nb
message: Covers mutually exclusively (xkos:coversMutuallyExclusively) shall refer to an instance of skos:Concept

propertyShape xkosCoversExhaustively
type: PropertyShape
name: dekker uttømmende @nb
name: covers exhaustively
path: coversExhaustively
node kind: IRI
severity: Violation
message: Dekker uttømmende (xkos:coversExhaustively) skal referere til en instans av skos:Concept @nb
message: Covers exhaustively (xkos:coversExhaustively) shall refer to an instance of skos:Concept

DateOrDateTimeDataType Shape
type: NodeShape
comment: Date time date disjunction shape checks that a datatype property receives a date or a dateTime literal
name: Date time date disjunction
message: The values must be typed as either xsd:date or xsd:dateTime
severity: Violation
xone:
  datatype: date
xone:
  datatype: dateTime

Language Restriction
type: NodeShape
comment: Language Restriction
property:
  or:
    has value: language
  or:
    has value: language
  min count: 1
  node kind: IRI
  path: inScheme