Gå til innhold

Valideringsreglar

Validering av LinkML-skjema køyrer i tre steg, men lint og instansvalidering køyrer berre éin gong — på bronsenivå. Silver og gull arvar bronse og legg berre til fleire policy-sjekkar; dei køyrer ikkje lint eller instansvalidering på nytt.

Steg Bronze Silver Gold
Lint skjema (linkml lint --validate)
Valider instans mot skjema
Policy-sjekkar bronse bronse + sølv bronse + sølv + gull

Bruk

# Medaljongnivå:
make mcp-validate SCHEMA=src/linkml/<domene>/<modell>/<modell>-schema.yaml POLICY=bronze
make mcp-validate SCHEMA=src/linkml/<domene>/<modell>/<modell>-schema.yaml POLICY=silver
make mcp-validate SCHEMA=src/linkml/<domene>/<modell>/<modell>-schema.yaml POLICY=gold

# Publisering — med datafil/instans:
make mcp-validate \
  SCHEMA=src/linkml/begrepskatalog/<katalog>/<katalog>-schema.yaml \
  POLICY=felles-begrepskatalog \
  INSTANCE=data/begrep/<katalog>.yaml

make mcp-validate \
  SCHEMA=src/linkml/modellkatalog/<katalog>/<katalog>-schema.yaml \
  POLICY=felles-datakatalog \
  INSTANCE=examples/modell/<katalog>-eksempel.yaml

Medaljongnivå for datasett

Kvart nivå arvar alle krav frå lågare nivå. Brot på eit nivå gir alltid error for det nivået — unntaket er åtvarslane på bronse som blir oppgradert til error på gull.


Bronse

Grunnleggjande strukturkrav. Eit skjema som passerer bronse er syntaktisk korrekt og har nødvendig metadata.

Alvor Krav Kode
error schema.id er til stades missing_required_metadata
error schema.id er ein HTTP(S)-URI schema_id_is_http_uri
error schema.name er til stades missing_required_metadata
error schema.title er til stades missing_required_metadata
error schema.default_prefix er til stades schema_has_default_prefix
error schema.default_prefix er absolutt HTTPS-URI med avsluttande / default_prefix_is_https_uri
warning schema.description er til stades missing_recommended_metadata
warning schema.version er til stades missing_recommended_metadata
warning schema.license er til stades schema_has_license
warning Alle klassenamn startar med stor bokstav (PascalCase) class_names_pascal_case
warning Alle slotnamn er snake_case (FINT-skjema unnteke) slot_names_snake_case
warning class.description er til stades for alle klasser missing_recommended_metadata
warning slot.description er til stades for alle slots missing_recommended_metadata
warning Alle klasser (unntatt tree_root) har class_uri all_classes_have_class_uri
warning Alle globale slots har slot_uri all_slots_have_slot_uri
warning Alle klasser (unntatt tree_root) har ein slot med identifier: true all_classes_have_identifier
warning Alle klasser (unntatt tree_root) har annotations.begrepsidentifikator som peikar på https://concept-catalog.fellesdatakatalog.digdir.no/collections/… all_classes_have_concept_ref

Sølv

Arvar bronse. Legg til livssyklusmetadata og krav frå DCAT-AP-NO og DQV-AP-NO for domenemodeller i norsk offentleg sektor.

Livssyklusmetadata (Digdir-regel 9, 10, 11):

Alvor Krav Kode
warning schema.annotations.utgiver — URI på forma https://data.norge.no/organizations/<orgnr> schema_has_annotation_utgiver
warning schema.annotations.endringsdato — ISO 8601-dato schema_has_annotation_endringsdato
warning schema.annotations.status — ADMS Status-URI schema_has_annotation_status

Gyldige verdiar for annotations.status: http://purl.org/adms/status/UnderDevelopment, Completed, Deprecated, Withdrawn.

Klasse-slot-krav (obligatoriske per DCAT-AP-NO / DQV-AP-NO — alle brot gir error):

Klasse Påkravd slot (slot_uri)
Katalog dct:title, dct:description, dcat:contactPoint, dct:publisher
Katalogpost dct:modified, foaf:primaryTopic
Datasett dct:title, dct:description, dcat:contactPoint, dcat:theme, dct:publisher
Distribusjon dcat:accessURL
Datatjeneste dcat:endpointURL, dcat:contactPoint, dct:title, dct:publisher
Aktør foaf:name

Containerklasse-krav:

Alvor Krav
error Containerklassen (tree_root) har attributt med range Katalog, Datasett, Kvalitetsmaal, Kvalitetsmaaling
warning Containerklassen har attributt med range Distribusjon, Datatjeneste, Kvalitetsdimensjon, Kvalitetsmerknad

Gull

Arvar sølv og bronse. Implementerer FAIR-prinsippa (Findable, Accessible, Interoperable, Reusable). Alle brot gir error — også dei som er åtvarslane på bronse.

FAIR Krav Kode
F1 schema.id er HTTP(S)-URI (arva frå bronse, oppgradert til error) schema_id_is_http_uri
F2 schema.title er til stades fair_f2
F3 Alle klasser (unntatt tree_root) har class_uri (arva frå bronse, oppgradert til error) all_classes_have_class_uri
F4 schema.version er til stades fair_f4
I1 Alle globale slots har slot_uri (arva frå bronse, oppgradert til error) all_slots_have_slot_uri
I2 Skjemaet deklarerer minst eitt standard vokabularprefiks (dct, dcat, skos, prov, rdf, rdfs, owl, foaf, xsd) fair_i2
R1.1 Skjemaet har ein slot med dct:license fair_r11
R1.2 Skjemaet har ein slot for proveniens (prov:wasAttributedTo, prov:wasGeneratedBy, dct:creator, dct:publisher eller dct:contributor) fair_r12

Publiseringspolicyer

Domene-spesifikke policyer for publisering til nasjonale katalogar. Dei arvar bronze og er meinte brukt i tillegg til medaljongnivåa — typisk i CI-pipelinen for skjema som har ein tilhøyrande datafil.


Felles Begrepskatalog (felles-begrepskatalog)

For begrepskatalogskjema som publiserer til data.norge.no/concepts via SKOS-AP-NO-Begrep. Sjå Publiser til Felles Begrepskatalog for full rettleiing.

Import og prefiks:

Alvor Krav Kode
error Importerer skos-ap-no-schema schema_importerer_skos_ap_no
error Deklarerer skos:-prefix schema_brukar_skos_prefix
error Deklarerer dct:-prefix schema_brukar_dct_prefix

Containerklasse:

Alvor Krav Kode
error Container har attributt med range Begrep container_har_begrep
warning Container har attributt med range Samling container_har_samling

Begrep-krav (obligatoriske per SKOS-AP-NO-Begrep):

Alvor Krav Kode
error skos:prefLabel begrep_har_anbefalt_term
error skos:definition eller euvoc:xlDefinition begrep_har_definisjon
error dct:identifier begrep_har_identifikator
error dct:publisher begrep_har_utgjevar
error dcat:contactPoint begrep_har_kontaktpunkt
warning dct:subject begrep_har_fagomrade
warning dct:creator begrep_har_ansvarleg_verksemd
warning euvoc:startDate begrep_har_gyldig_fra
warning euvoc:endDate begrep_har_gyldig_til
warning dct:created begrep_har_opprettingsdato
warning dct:modified begrep_har_endringsdato
warning skos:scopeNote begrep_har_merknad
warning skos:altLabel begrep_har_tillate_term

Definisjon-, AssosiativRelasjon-, GeneriskRelasjon-, PartitivRelasjon- og Samling-krav er dokumenterte i policies/felles-begrepskatalog.yaml.

Instanssjekk:

Alvor Krav Kode
error dct:publisher-verdi er https://data.norge.no/organizations/<9-sifra orgnr> og er i lista over kjende utgivarar utgjevar_er_kjend_org

Felles Datakatalog (felles-datakatalog)

For modellkatalogskjema som publiserer til data.norge.no/models via ModelDCAT-AP-NO. Sjå Publiser til Felles Datakatalog for full rettleiing.

Import og prefiks:

Alvor Krav Kode
error Importerer modelldcat-ap-no-schema schema_importerer_modelldcat_ap_no
error Deklarerer dct:-prefix schema_brukar_dct_prefix
error Deklarerer dcat:-prefix schema_brukar_dcat_prefix

Containerklasse:

Alvor Krav Kode
error Container har attributt med range Modellkatalog container_har_modellkatalog
error Container har attributt med range Informasjonsmodell container_har_informasjonsmodell

Modellkatalog-krav (obligatoriske per ModelDCAT-AP-NO):

Alvor Krav Kode
error dct:title modellkatalog_har_tittel
error dct:description modellkatalog_har_beskrivelse
error dct:identifier modellkatalog_har_identifikator
error dct:publisher modellkatalog_har_utgjevar
error dcat:contactPoint modellkatalog_har_kontaktpunkt
error dct:hasPart modellkatalog_har_del
warning dct:license modellkatalog_har_lisens
warning modelldcatno:model modellkatalog_har_modell

Informasjonsmodell-krav (obligatoriske per ModelDCAT-AP-NO):

Alvor Krav Kode
error dct:title informasjonsmodell_har_tittel
error dct:publisher informasjonsmodell_har_utgjevar
warning dct:description informasjonsmodell_har_beskrivelse
warning dct:identifier informasjonsmodell_har_identifikator
warning modelldcatno:informationModelIdentifier informasjonsmodell_har_modellidentifikator
warning dcat:contactPoint informasjonsmodell_har_kontaktpunkt
warning dct:license informasjonsmodell_har_lisens
warning dcat:theme informasjonsmodell_har_tema
warning modelldcatno:containsModelElement informasjonsmodell_har_modellelement

Instanssjekk:

Alvor Krav Kode
error dct:publisher-verdi er https://data.norge.no/organizations/<9-sifra orgnr> og er i lista over kjende utgivarar utgjevar_er_kjend_org

Policyarv

bronze
  ├── silver  (extends: bronze)
  │     └── gold  (extends: silver)
  ├── felles-begrepskatalog  (extends: bronze)
  └── felles-datakatalog  (extends: bronze)

make mcp-validate POLICY=gold køyrer alle bronse-, sølv- og gull-krav i éin gjennomgang.

Publiseringspolicyane er sidegreinar — dei arvar bronse, men ikkje sølv eller gull. Bruk dei saman med medaljongnivåa for fullstendig dekning:

make mcp-validate SCHEMA=... POLICY=bronze
make mcp-validate SCHEMA=... POLICY=felles-begrepskatalog INSTANCE=...

Teknisk referanse — MCP-verktøy

Verktøy Skildring
validate_linkml_schema Validerer eit skjema med lint + instansvalidering + policy-sjekkar. Parametrar: schemaText (påkravd), policy (standard: bronze), instanceText (valfri).
validate_linkml_instance Validerer ein instans mot eit skjema. Tilsvarar linkml validate --schema. Parametrar: schemaText, instanceText, targetClass (valfri).