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
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.
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.