Agent Ranges - Controlled Vocabulary and Types
type: NodeShape
comment: Check that the URIs referenced from instances of foaf:Agent match pattern-wise with the correct controlled vocabulary
property: hasShapeCVPublisherTypePattern-dctType
target class: Agent

Catalog Ranges - Controlled Vocabulary and Types
type: NodeShape
comment: Check that the URIs referenced from instances of dcat:Catalog match pattern-wise with the correct controlled vocabulary, as well as Types of some referenced Nodes
property: hasShapeCV-dctSpatial
property: hasShapeCVPattern-dctLicense
property: hasShapeCVPattern-dctLanguage
property: hasRangeShape-dctTemporal
target class: Catalog

Cost Ranges - Controlled Vocabulary
type: NodeShape
comment: Check that the URIs referenced from instances of cv:Cost match pattern-wise with the correct controlled vocabulary
property: hasShapeCV-currency
target class: Catalog

Catalog Record Ranges - Controlled Vocabulary and Types
type: NodeShape
comment: Check that the URIs referenced from instances of dcat:CatalogRecord match pattern-wise with the correct controlled vocabulary, as well as Types of some referenced Nodes
property: hasShapeCVPattern-admsStatus
property: hasShapeCVPattern-dctLanguage
target class: CatalogRecord

Dataset Ranges - Controlled Vocabulary and Types
type: NodeShape
comment: Check that the URIs referenced from instances of dcat:Dataset match pattern-wise with the correct controlled vocabulary, as well as Types of some referenced Nodes
property: hasAtLeast1DataThemePattern-dcatTheme
property: hasShapeCVPattern-provWasGeneratedBy
property: hasShapeCV-dctSpatial
property: hasRangeShape-dctTemporal
property: hasShapeCVPattern-dctAccrualPeriodicity
property: hasShapeCVPattern-dctLanguage
property: hasShapeCVDatasetTypePattern-dctType
target class: Dataset

Data Service Ranges - Controlled Vocabulary and Types
type: NodeShape
comment: Check that the URIs referenced from instances of dcat:DataService match pattern-wise with the correct controlled vocabulary, as well as Types of some referenced Nodes
property: hasShapeCVPattern-dctFormat
property: hasShapeCVPattern-dcatapAvailability
property: hasShapeCVPattern-dctLicense
property: hasRangeShape-dctRights
property: hasShapeCVPattern-admsStatus
target class: DataService

Distribution Ranges - Controlled Vocabulary and Types
type: NodeShape
comment: Check that the URIs referenced from instances of dcat:Distribution match pattern-wise with the correct controlled vocabulary, as well as Types of some referenced Nodes
property: hasShapeCVPattern-dctFormat
property: hasShapeCVPattern-dctLicense
property: hasShapeCVPattern-admsStatus
property: hasShapeCVPattern-dcatapAvailability
property: hasShapeCVPattern-dcatCompressFormat
property: hasShapeCVPattern-mediaType
property: hasShapeCVPattern-dcatPackageFormat
property: hasRangeShape-odrlHasPolicy
property: hasRangeShape-dctRights
property: hasRangeShape-spdxChecksum
property: hasShapeCVPattern-dctLanguage
target class: Distribution

Dataset Series Ranges - Controlled Vocabulary and Types
type: NodeShape
comment: Check that the URIs referenced from instances of dcat:DatasetSeries match pattern-wise with the correct controlled vocabulary, as well as Types of some referenced Nodes
property: hasAtLeast1DataThemePattern-dcatTheme
property: hasShapeCV-dctSpatial
property: hasRangeShape-dctTemporal
property: hasShapeCVPattern-dctAccrualPeriodicity
target class: DatasetSeries

Legal Resource Ranges - Controlled Vocabulary and Types
type: NodeShape
comment: Check that the URIs referenced from instances of eli:LegalResource match pattern-wise with the correct controlled vocabulary, as well as Types of some referenced Nodes
property: hasShapeCVPattern-dctLanguage
property: hasShapeCVELegalResourceTypePattern-dctType
target class: LegalResource

Data Service Theme Range
type: NodeShape
comment: Check that at least one code on dcat:theme is from the controlled vocabulary Data Theme
target class: DataService
or:
  not:
    path: theme
    min count: 1
or:
  property: hasAtLeast1DataThemePattern-dcatTheme
message: If used, dcat:theme MUST refer to AT LEAST 1 instance of skos:Concept from the the controlled vocabulary Data Theme (ex: http://publications.europa.eu/resource/authority/data-theme/GOVE)
severity: Violation

Cost Currency Range
type: NodeShape
comment: Check that cv:currency exists when cv:hasValue is used
target class: Cost
or:
  not:
    path: hasValue
    min count: 1
or:
  property:
    path: currency
    min count: 1
message: If cv:hasValue is used on cv:Cost, cv:currency MUST also used
severity: Violation

hasRangeShape-spdxChecksum
type: PropertyShape
name: checksum
name: sjekksum @nb
description: Must refer to instance of spdx:Checksum
path: checksum
class: Checksum
message: spdx:checksum MUST refer to an instance of spdx:Checksum
severity: Violation

hasShapeCV-currency
type: PropertyShape
name: currency
name: valuta @nb
description: Code must come from Controlled Vocabulary Currency
path: currency
pattern: http://publications.europa.eu/resource/authority/currency/
message: The value of property cv:currency MUST come from the the controlled vocabulary Currency (ex: http://publications.europa.eu/resource/authority/currency/NOK)
severity: Violation

hasAtLeast1DataThemePattern-dcatTheme
type: PropertyShape
name: theme
name: tema @nb
description: At least 1 value from Data Theme
path: theme
qualified value shape:
  pattern: ^http://publications.europa.eu/resource/authority/data-theme
qualified min count: 1

hasShapeCVPattern-dcatapAvailability
type: PropertyShape
name: availability
name: tilgjengelighet @nb
description: Code must come from Controlled Vocabulary Planned Availability
path: r5ravailability
pattern: http://publications.europa.eu/resource/authority/planned-availability/
message: The value of property dcatap:availability MUST come from the controlled vocabulary Planned Availability (ex: http://publications.europa.eu/resource/authority/planned-availability/AVAILABLE)
severity: Violation

hasShapeCVPattern-dctFormat
type: PropertyShape
name: format
description: Code must come from Controlled Vocabulary File Type
path: format
pattern: ^http://publications.europa.eu/resource/authority/file-type
message: The value of property dct:format MUST come from the controlled vocabulary File Type (ex: http://publications.europa.eu/resource/authority/file-type/JSON)
severity: Violation

hasShapeCVPattern-dctAccrualPeriodicity
type: PropertyShape
name: frequency
name: frekvens @nb
description: Code must come from Controlled Vocabulary Frequency
path: accrualPeriodicity
pattern: ^http://publications.europa.eu/resource/authority/frequency
message: The value of property dct:accrualPeriodicity MUST come from the controlled vocabulary Frequency (ex: http://publications.europa.eu/resource/authority/frequency/DAILY)
severity: Violation

hasRangeShape-odrlHasPolicy
type: PropertyShape
name: has policy
name: policy @nb
description: Must refer to instance of odrl:Policy
path: hasPolicy
class: Policy
message: The property odrl:hasPolicy MUST refer to an instance of odrl:Policy
severity: Violation

hasShapeCVPattern-dctLanguage
type: PropertyShape
name: language
name: språk @nb
description: Code must come from Controlled Vocabulary Language
path: language
pattern: ^http://publications.europa.eu/resource/authority/language
message: The value of property dct:language MUST come from the controlled vocabulary Language (ex: http://publications.europa.eu/resource/authority/language/NOR)
severity: Violation

hasShapeCVPattern-dctLicense
type: PropertyShape
name: license
name: lisens @nb
description: Code must come from Controlled Vocabulary License
path: license
pattern: ^http://publications.europa.eu/resource/authority/licence
message: The value of property dct:license MUST come from the controlled vocabulary Licence (ex: http://publications.europa.eu/resource/authority/licence/CC0)
severity: Violation

hasShapeCVPattern-mediaType
type: PropertyShape
name: media type
name: medietype @nb
description: Code must refer to a IANA Media Type
path: mediaType
pattern: ^https://www.w3.org/ns/iana/media-types/application/*
message: The value of property dcat:mediaType MUST come from IANA Media Types (ex: https://www.w3.org/ns/iana/media-types/application/json)
severity: Violation

hasShapeCVPattern-provWasGeneratedBy
type: PropertyShape
name: was generated by
name: ble generert ved @nb
description: Code should come from the controlled vocabulary Provenance Activity Type
path: wasGeneratedBy
in: administrative-decision
in: collecting-from-third-party
in: collecting-from-user
in: ai-creation
message: The value of property prov:wasGeneratedBy SHOULD come from the controlled Vocabulary Provenance Activity Type (ex: https://data.norge.no/vocabulary/provenance-activity-type#administrative-decision)
severity: Warning

hasRangeShape-dctRights
type: PropertyShape
name: rights
name: rettigheter @nb
description: Must refer to instance of odrs:RightsStatement
path: rights
class: RightsStatement
message: dct:rights MUST refer to an instance of odrs:RightsStatement
severity: Violation

hasShapeCV-dctSpatial
type: PropertyShape
name: spatial
name: dekningsområde @nb
path: spatial
or:
  pattern: ^http://publications.europa.eu/resource/authority/country/
or:
  pattern: ^http://publications.europa.eu/resource/authority/continent/
or:
  pattern: ^http://sws.geonames.org/
or:
  pattern: ^http://publications.europa.eu/resource/authority/place/
or:
  pattern: ^https://data.geonorge.no/administrativeEnheter/
message: The value of dct:spatial MUST be chosen from the controlled vocabularies http://publications.europa.eu/resource/authority/continent, http://publications.europa.eu/resource/authority/country, http://publications.europa.eu/resource/authority/place or http://sws.geonames.org
severity: Violation

hasShapeCVPattern-admsStatus
type: PropertyShape
name: status
description: Code must come from Controlled Vocabulary Distribution Status
path: status
pattern: ^http://publications.europa.eu/resource/authority/distribution-status
message: The value of adms:status MUST come from the controlled vocabulary Distribution Status (ex: http://publications.europa.eu/resource/authority/distribution-status/DEVELOP)
severity: Violation

hasRangeShape-dctTemporal
type: PropertyShape
name: temporal
name: tidsrom @nb
path: temporal
class: PeriodOfTime
message: The value of property dct:temporal MUST be an instance of dct:PeriodOfTime
severity: Violation

hasShapeCVPublisherTypePattern-dctType
type: PropertyShape
name: type
path: type
pattern: ^http://purl.org/adms/publishertype/
message: The value of property dct:type MUST come from the controlled vocabulary Publisher Types (ex: http://purl.org/adms/publishertype/NationalAuthority)
severity: Violation

hasShapeCVPattern-dcatCompressFormat
type: PropertyShape
name: compression format
description: Code should refer to a IANA Media Type
path: compressFormat
pattern: ^https://www.w3.org/ns/iana/media-types/application/*
message: The value of dcat:compressFormat SHOULD be a value from IANA Media Types (ex: https://www.w3.org/ns/iana/media-types/application/zip)
severity: Warning

hasShapeCVPattern-dcatPackageFormat
type: PropertyShape
name: package format
description: Code should refer to a IANA Media Type
path: packageFormat
pattern: ^https://www.w3.org/ns/iana/media-types/application/*
message: The value of property dcat:packageFormat SHOULD come from IANA Media Types (ex: https://www.w3.org/ns/iana/media-types/application/gzip)
severity: Warning

hasShapeCVDatasetTypePattern-dctType
type: PropertyShape
name: type
description: Code may come from the controlled vocabulary Dataset Type
path: type
pattern: ^http://publications.europa.eu/resource/authority/dataset-type
message: The value of dct:type MAY come from the controlled vocabulary Dataset Type (ex: http://publications.europa.eu/resource/authority/dataset-type/TEST_DATA)
severity: Info

hasShapeCVELegalResourceTypePattern-dctType
type: PropertyShape
name: type
description: Code MUST come from the controlled vocabulary Legal Resource Type if it exists in vocabulary
path: type
pattern: ^https://data.norge.no/vocabulary/legal-resource-type#
message: The value of dct:type MUST come from the controlled vocabulary Legal Resource Type if it exists in vocabulary (ex: https://data.norge.no/vocabulary/legal-resource-type#act)
severity: Info