Gegevensmodel Gegevenskwaliteitsregistratie

← Terug naar applicatie

Dit document beschrijft het logische gegevensmodel van de Gegevenskwaliteitsregistratie. Het model is gebaseerd op het NORA Raamwerk Gegevenskwaliteit en bevat tevens de representatie van het gegevensmodel naar JSON en Linked Data (DQV).

1. Overzicht

1.1 Inleiding

Het gegevensmodel beschrijft de objecttypen en attributen die nodig zijn om gegevenskwaliteitsmetingen te registreren en hun relatie met het NORA raamwerk gegevenskwaliteit. Dat raamwerk beschrijft kwaliteitsdimensies, kwaliteitsattributen en kwaliteitsmetrieken. Een kwaliteitsdimensie is een aspect van kwaliteit waaraan gebruikers van gegevens waarde hechten. Een kwaliteitsattribuut is een aspect van een kwaliteitsdimensie. Een kwaliteitsmetriek beschrijft hoe de kwaliteit daadwerkelijk wordt gemeten en uitgedrukt. Onderdeel daarvan zijn zinsjablonen die een gestandaardiseerde structuur geven voor zinnen die de kwaliteit beschrijven. Voor de definities van de kwaliteitsdimensies, kwaliteitsattributen en kwaliteitsmetrieken in het NORA raamwerk wordt verwezen naar NORAonline.nl.

Onderstaand diagram toont het gegevensmodel als geheel. Het laat zien hoe de objecttypen in de gegevenskwaliteitregistratie (onderste laag) samenhangen met de objecttypen in het NORA raamwerk gegevenskwaliteit (bovenste laag). De kern van het model zijn de resultaten van kwaliteitsmetingen. Deze resultaten zijn uitgedrukt in termen van de variabelen uit de zinsjablonen in de kwaliteitsmetrieken. Daarnaast kan een toelichting worden gegeven op het meetresultaat, en kan de norm worden benoemd. Kwaliteitsmetingen kunnen worden gelinkt aan de kwaliteitsregels die aangeven wat er precies gemeten is. Ze worden gegroepeerd in een speciaal soort dataset, die verwijst naar de eigenlijke dataset. Deze speciale dataset bevat algemene en statistische eigenschappen, inclusief aantallen van objecten van een specifiek objecttype. Er kunnen ook toelichtingen op het niveau van kwaliteitsdimensies worden gegeven n.a.v. de metingen. Kwaliteitsregels kunnen ook los van de kwaliteitsmetingen worden gedefinieerd. Instanties van het objecttype kwaliteitsmeting kunnen ook al bestaan voordat het meetresultaat beschikbaar is. Als zij al wel de normwaarde bevatten dan beschrijven zij eigenlijk de kwaliteitseis, die dus niet expliciet maar impliciet in het model aanwezig is.

1.2 Diagram

Gegevensmodel Gegevenskwaliteitsregistratie
Figuur 1: Gegevensmodel Gegevenskwaliteitsregistratie

In de volgende paragrafen wordt het logisch gegevensmodel verder beschreven in termen van de objecttypes, attribuutsoorten en relaties. Dit logische gegevensmodel is ook beschikbaar in RDF/TTL formaat conform het Metamodel voor Informatie Modellering versie 1.2. In het daarop volgende hoofdstuk wordt de representatie van het gegevensmodel in JSON en Linked Data (DQV) beschreven.

2. Objecttypen

2.1 Dataset

Eigenschap Waarde
Objecttype Dataset
Definitie Een verzameling van resultaten van kwaliteitsmetingen die betrekking hebben op een specifieke dataset.
Toelichting Een dergelijke dataset wordt ook wel een kwaliteitsmetingendataset genoemd.

Attribuutsoorten

Naam Definitie Kardinaliteit Type
naam De naam van de originele dataset. 1 CharacterString
toelichting Een algemene toelichting op de originele dataset. 0..1 CharacterString
meetjaar Het jaar waarop de kwaliteitsmetingen betrekking hebben. 0..1 Integer
dcatUri De URI van het DCAT-record van de originele dataset. 0..1 URI
dqvPrefix Prefix voor de URI van de QualityMeasurementDataset. 0..1 URI
aantalGebeurtenissen Aantal gebeurtenissen in de originele dataset. 0..1 Integer
gebeurtenissenToelichting Toelichting bij het aantal gebeurtenissen. 0..1 CharacterString
aantalWijzigingen Aantal wijzigingen in de originele datset. 0..1 Integer
wijzigingenToelichting Toelichting bij het aantal wijzigingen. 0..1 CharacterString
aantalTerugmeldingen Aantal terugmeldingen op de originele dataset. 0..1 Integer
terugmeldingenToelichting Toelichting bij het aantal terugmeldingen. 0..1 CharacterString

2.2 Objecttype

Eigenschap Waarde
Objecttype Objecttype
Definitie De typering van een groep objecten die binnen een domein relevant zijn en als gelijksoortig worden beschouwd.
Toelichting Het gaat hier om de belangrijkste objecttypen in de originele dataset. Dat zijn vooral objecttypen waaraan kwaliteitseisen worden gesteld.

Attribuutsoorten

Naam Definitie Kardinaliteit Type
naam De naam van het objecttype. 1 CharacterString
aantal Het aantal objecten van dit type in de originele dataset. 1 Integer

Constraints

  • Objecttypen moeten uniek zijn binnen een dataset.

2.3 Kwaliteitsmeting

Eigenschap Waarde
Objecttype Kwaliteitsmeting
Definitie Een meting van de kwaliteit van een dataset op basis van een specifieke kwaliteitsmetriek.
Toelichting Elke kwaliteitsmeting is gekoppeld aan een kwaliteitsmetriek en kwaliteitsattribuut. Zie NORAonline.nl voor een overzicht van alle dimensies, attributen en metrieken.

Attribuutsoorten

Naam Definitie Kardinaliteit Type
kwaliteitsattribuut Het kwaliteitsattribuut waar deze meting betrekking op heeft. 1 URI
kwaliteitsmetriek De kwaliteitsmetriek waar deze meting betrekking op heeft 1 URI
normwaarde De normwaarde of het normwaarde waartegen de meting wordt afgezet. 0..1 Decimal of CharacterString
toelichting Een toelichting bij de meting. 0..1 CharacterString
variabelen Namen en waarden van de variabelen uit het zinsjabloon. 1..* CharacterString

Constraints

  • Meetwaarde moet bij de meeste metingen een getal zijn, behalve als de meting gaat over het kwaliteitsattribuut duidelijkheid.
  • Percentage-waarden bestaan alleen bij getalmetingen en liggen dan tussen 0 en 100.
  • Een normwaarde voor een percentage moet ook tussen 0 en 100 liggen.

2.4 DimensieToelichting

Eigenschap Waarde
Objecttype DimensieToelichting
Definitie Een toelichting bij de wijze waarop een dataset invulling geeft aan een kwaliteitsdimensie.

Attribuutsoorten

Naam Definitie Kardinaliteit Type
kwaliteitsdimensie De kwaliteitsdimensie waar de toelichting betrekking op heeft. 1 URI
toelichting Toelichting bij de invulling van de dimensie voor de specifieke dataset. 1 CharacterString

2.5 Kwaliteitsregel

Eigenschap Waarde
Objecttype Kwaliteitsregel
Definitie Een formele specificatie van een kwaliteitseis waaraan een dataset moet voldoen, uitgedrukt in een specifieke taal (Kwaliteitsregeltaal, SHACL, SPARQL, SQL, etc.).
Toelichting Een kwaliteitsregel beschrijft een voorwaarde waaraan gegevens moeten voldoen. Regels kunnen worden opgesteld in de Kwaliteitsregeltaal (KRT) of in andere talen. De regel heeft altijd een objecttype en metriek. Een kwaliteitsmeting kan verwijzen naar de regel die van toepassing is.

Attribuutsoorten

Naam Definitie Kardinaliteit Type
naam De unieke naam van de kwaliteitsregel. 1 CharacterString
objecttype Het objecttype waarop de regel van toepassing is. 1 CharacterString
metriek De kwaliteitsmetriek waar de regel betrekking op heeft. 0..1 URI
omschrijving Een korte omschrijving van de kwaliteitsregel (één regel). 0..1 CharacterString
melding De melding die getoond wordt bij een overtreding van de regel (één regel). 0..1 CharacterString
ernst De ernst van de regel: fout of waarschuwing. 1 CharacterString
specificatie De inhoud van de regel in de gekozen taal. 1 CharacterString
taal De taal waarin de specificatie is geschreven. 1 CharacterString
populatie Geeft aan of de regel betrekking heeft op de populatie als geheel of op individuele objecten van een bepaald objecttype. 0..1 Boolean

3. Relaties

Relatie Van objecttype Naar objecttype Kardinaliteit Definitie
heeftMeting Dataset Kwaliteitsmeting 0..* Een dataset bevat nul of meer kwaliteitsmetingen.
heeftObjecttype Dataset Objecttype 0..* Een dataset bevat nul of meer objecttypen.
heeftRegel Dataset Kwaliteitsregel 0..* Een dataset bevat nul of meer kwaliteitsregels.
heeftDimensieToelichting Dataset DimensieToelichting 0..* Een dataset kan nul of meer dimensietoelichtingen bevatten.
heeftObjecttype Kwaliteitsregel Objecttype 0..1 Een kwaliteitsregel is van toepassing op een objecttype.
heeftRegel Kwaliteitsmeting Kwaliteitsregel 0..1 Een kwaliteitsmeting kan verwijzen naar de kwaliteitsregel die van toepassing is.

4. Representaties

Het gegevensmodel kent twee representaties: JSON en Linked Data (DQV/Turtle).

4.1 JSON Representatie

De JSON representatie is bedoeld voor opslag en hergebruik binnen de applicatie. Het is een directe weergave van het logische model. Er is ook een JSON Schema beschikbaar van deze representatie.

{
  "datasets": [
    {
      "dataset": {
        "naam": "BAG",
        "toelichting": "Basisregistratie Adressen en Gebouwen",
        "meetjaar": 2024,
        "dcatUri": "https://data.overheid.nl/dataset/bag",
        "dqvPrefix": "https://mijnorganisatie.nl/kwaliteit/",
        "objecttypen": [
          { "naam": "Verblijfsobject", "aantal": 7500000 },
          { "naam": "Pand", "aantal": 3000000 }
        ],
        "aantalGebeurtenissen": 150000,
        "gebeurtenissenToelichting": "Aantal mutaties in 2024",
        "aantalWijzigingen": 45000,
        "aantalTerugmeldingen": 1200
      },
      "dimensieToelichtingen": {
        "http://www.noraonline.nl/wiki/Compleetheid": "Toelichting bij de compleetheidsmetingen..."
      },
      "kwaliteitsregels": [
        {
          "id": 1,
          "naam": "pref_label_verplicht",
          "objecttype": "Verblijfsobject",
          "metriek": "http://www.noraonline.nl/wiki/AttribuutCompleetheidMetric",
          "omschrijving": "Controleert of prefered label verplicht is",
          "melding": "prefLabel is niet ingevuld",
          "ernst": "fout",
          "specificatie": "prefLabel IS NIET LEEG",
          "taal": "Kwaliteitsregeltaal",
          "populatie": false
        }
      ],
      "metingen": [
        {
          "kwaliteitsattribuut": "http://www.noraonline.nl/wiki/AttribuutCompleetheid",
          "kwaliteitsmetriek": "http://www.noraonline.nl/wiki/AttribuutCompleetheidMetric",
          "regelId": 1,
          "variabelen": {
            "ATTRIBUUT": "huisnummer",
            "PERCENTAGE": 98.5
          },
          "normwaarde": "95",
          "toelichting": "Voorbeeldtoelichting"
        }
      ]
    }
  ]
}
4.2 Linked Data Representatie (DQV/Turtle)

De Linked Data representatie is conform de W3C Data Quality Vocabulary (DQV). Dit maakt uitwisseling mogelijk met andere systemen in het Linked Data ecosysteem. Er is ook een SHACL definitie en een definitie van de kwaliteitsregels in Kwaliteitsregeltaal beschikbaar van deze representatie.

@prefix dqv: <http://www.w3.org/ns/dqv#> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix nora: <http://www.noraonline.nl/wiki/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix void: <http://rdfs.org/ns/void#> .
@prefix oa: <http://www.w3.org/ns/oa#> .
@prefix fds-dqv: <https://federatief.datastelsel.nl/kennisbank/dqv/> .
@prefix ex: <http://example.org/> .

# Dataset (QualityMeasurementDataset)
<https://mijnorganisatie.nl/kwaliteit/bag-2024>
  a dqv:QualityMeasurementDataset ;
  dcterms:title "BAG – kwaliteitsregistratie" ;
  dcterms:description "Basisregistratie Adressen en Gebouwen" ;
  dcterms:temporal "2024"^^xsd:gYear ;
  dcat:servesDataset <https://data.overheid.nl/dataset/bag> ;
  fds-dqv:aantalGebeurtenissen "150000"^^xsd:integer ;
  fds-dqv:gebeurtenissenToelichting "Aantal mutaties in 2024" ;
  fds-dqv:aantalWijzigingen "45000"^^xsd:integer ;
  fds-dqv:wijzigingenToelichting "Aantal wijzigingen inclusief correcties" ;
  fds-dqv:aantalTerugmeldingen "1200"^^xsd:integer ;
  fds-dqv:terugmeldingenToelichting "Aantal terugmeldingen van gebruikers" ;
  void:classPartition [
    dcterms:subject "Verblijfsobject" ;
    void:entities 7500000
  ] ;
  void:classPartition [
    dcterms:subject "Pand" ;
    void:entities 3000000
  ] .

# Dimensietoelichting (qualityAnnotation)
<https://mijnorganisatie.nl/kwaliteit/bag-2024>
  dqv:qualityAnnotation [
    a <http://www.w3.org/ns/oa#Annotation> ;
    dqv:inDimension <http://www.noraonline.nl/wiki/Compleetheid> ;
    oa:bodyValue "De metingen zijn uitgevoerd op basis van een steekproef van 10% van de totale populatie."
  ] .

# Regel 1 (prov:Plan) in Kwaliteitsregeltaal
ex:regel_pref_label_verplicht a prov:Plan ;
    dqv:computedOn "Concept" ;
    dqv:isMeasurementOf nora:AttribuutCompleetheidMetric ;
    rdfs:label "pref_label_verplicht" ;
    rdfs:comment "Controleert of prefered label verplicht is" ;
    sh:message "prefLabel is niet ingevuld" ;
    sh:severity sh:Violation ;
    dcterms:description "prefLabel IS NIET LEEG" .

# Regel 2 (prov:Plan) in SQL
ex:regel_adres_sql a prov:Plan ;
    dqv:computedOn "Verblijfsobject" ;
    dqv:isMeasurementOf nora:FormaatvaliditeitMetric ;
    rdfs:label "adres_formaat_sql" ;
    dcterms:description "SELECT * FROM verblijfsobject WHERE postcode NOT LIKE '[0-9][0-9][0-9][0-9][A-Z][A-Z]';" ;
    dcterms:type "SQL" .

# Meting 1 (QualityMeasurement)
fds-dqv:ds1_2024_meting_1
  a dqv:QualityMeasurement ;
  dqv:inDimension <nora:AttribuutCompleetheid> ;
  dqv:isMeasurementOf <nora:AttribuutCompleetheidMetric> ;
  dqv:computedOn <https://data.overheid.nl/dataset/bag> ;
  dqv:value "98.5"^^xsd:double ;
  qudt:unit unit:PERCENT ;
  rdfs:comment "voor huisnummer: 98.5 van de gegevens in de registratie hebben een waarde" ;
  nora:normwaardeVariabele "95" ;
  dcterms:subject "huisnummer" ;
  dcterms:description "Voorbeeldtoelichting" ;
  prov:hadPlan ex:regel_pref_label_verplicht .

# Meting 2 (QualityMeasurement) - Representativiteit
fds-dqv:ds1_2024_meting_2
  a dqv:QualityMeasurement ;
  dqv:inDimension <nora:Representativiteit> ;
  dqv:isMeasurementOf <nora:RepresentativiteitMetric> ;
  dqv:computedOn <https://data.overheid.nl/dataset/bag> ;
  rdfs:comment "de registratie is gebaseerd op een steekproefgrootte van 750000 op een populatie van 7500000" ;
  nora:steekproefVariabele "750000" ;
  nora:populatieVariabele "7500000" .

# Meting 3 (QualityMeasurement) - Updatefrequentie
fds-dqv:ds1_2024_meting_3
  a dqv:QualityMeasurement ;
  dqv:inDimension <nora:Updatefrequentie> ;
  dqv:isMeasurementOf <nora:UpdatefrequentieMetric> ;
  dqv:computedOn <https://data.overheid.nl/dataset/bag> ;
  dqv:value "85"^^xsd:double ;
  qudt:unit unit:PERCENT ;
  rdfs:comment "voor OBJECTTYPE: PERCENTAGE van de gegevensobjecten in de registratie is geactualiseerd binnen PERIODE" ;
  nora:normwaardeVariabele "90" ;
  dcterms:subject "Verblijfsobject" ;
  dcterms:temporal "6 maanden" .

# Koppeling dataset aan metingen
<https://mijnorganisatie.nl/kwaliteit/bag-2024>
  dqv:hasQualityMeasurement fds-dqv:ds1_2024_meting_1 ,
                         fds-dqv:ds1_2024_meting_2 ,
                         fds-dqv:ds1_2024_meting_3 .

Mapping van objecttypen op RDF

Objecttype RDF Class (DQV)
Dataset dqv:QualityMeasurementDataset
Kwaliteitsmeting dqv:QualityMeasurement
Kwaliteitsregel prov:Plan

Mapping van attributen op RDF

Dataset
Attribuut RDF Property Type
naam dcterms:title Literal (xsd:string)
toelichting dcterms:description Literal (xsd:string)
meetjaar dcterms:temporal Literal (xsd:gYear)
dqvPrefix Namespace/base URI voor QualityMeasurementDataset (geen RDF property)
aantalGebeurtenissen fds-dqv:aantalGebeurtenissen Literal (xsd:integer)
gebeurtenissenToelichting fds-dqv:gebeurtenissenToelichting Literal (xsd:string)
aantalWijzigingen fds-dqv:aantalWijzigingen Literal (xsd:integer)
wijzigingenToelichting fds-dqv:wijzigingenToelichting Literal (xsd:string)
aantalTerugmeldingen fds-dqv:aantalTerugmeldingen Literal (xsd:integer)
terugmeldingenToelichting fds-dqv:terugmeldingenToelichting Literal (xsd:string)
objecttypen void:classPartition Blank node met dcterms:subject en void:entities
dimensieToelichtingen dqv:qualityAnnotation Blank node (oa:Annotation) met dqv:inDimension en oa:bodyValue
Objecttype
Attribuut RDF Property Type
naam dcterms:subject Literal (xsd:string)
aantal void:entities Literal (xsd:integer)
Kwaliteitsmeting
Attribuut RDF Property Type
kwaliteitsattribuut dqv:inDimension URI
kwaliteitsmetriek dqv:isMeasurementOf URI
dcatUri bij Dataset dqv:computedOn URI
normwaarde nora:normwaardeVariabele Literal (xsd:string)
toelichting dcterms:description Literal (xsd:string)
afgeleid zinsjabloon rdfs:comment Literal (xsd:string).
variabele nora:{variabelenaam} Zie mapping van variabelen op RDF
regelId prov:hadPlan URI (verwijzing naar prov:Plan)
Kwaliteitsregel
Attribuut RDF Property Type
naam rdfs:label Literal (xsd:string)
objecttype dqv:computedOn Literal (xsd:string)
metriek dqv:isMeasurementOf URI
omschrijving rdfs:comment Literal (xsd:string)
melding sh:message Literal (xsd:string)
ernst sh:severity URI (sh:Violation of sh:Warning)
specificatie dcterms:description Literal (xsd:string).
taal dcterms:type Literal (xsd:string). Alleen bij niet-KRT talen; voor Kwaliteitsregeltaal wordt dit niet geëxporteerd (is default).
populatie Wordt niet als aparte predicate in RDF geëxporteerd.
DimensieToelichting
Attribuut RDF Property Type
dimensie dqv:inDimension URI
toelichting oa:bodyValue Literal (xsd:string)

Mapping van relaties op RDF

Relatie Van Naar RDF Property
heeftMeting Dataset Kwaliteitsmeting dqv:hasQualityMeasurement
heeftObjecttype Dataset Objecttype void:classPartition
heeftRegel Dataset Kwaliteitsregel prov:hadPlan
heeftDimensieToelichting Dataset DimensieToelichting dqv:qualityAnnotation
heeftObjecttype Kwaliteitsregel Objecttype dqv:computedOn
heeftRegel Kwaliteitsmeting Kwaliteitsregel prov:hadPlan

Mapping van variabelen op RDF

De variabelen in de zinsjablonen worden gemapt op RDF properties. Zie NORAonline.nl voor de volledige lijst van variabelen per metriek.

Variabele RDF Property Type
PERCENTAGE dqv:value Literal (xsd:double)
AANTAL nora:aantalVariabele Literal (xsd:double)
STEEKPROEF nora:steekproefVariabele Literal (xsd:string)
POPULATIE nora:populatieVariabele Literal (xsd:string)
EENHEID qudt:unit Literal (xsd:string)
ATTRIBUUT dcterms:subject Literal (xsd:string)
OBJECTTYPE dcterms:subject Literal (xsd:string)
BRON prov:used Literal (xsd:string)
PERIODE / NORMTIJD dcterms:temporal Literal (xsd:string)
DETAILNIVEAU nora:detailniveauVariabele Literal (xsd:string)
BEWIJS nora:bewijsVariabele Literal (xsd:string)