Skip to content

Commit

Permalink
aanpassing nav onderscheid extensie (geo)objecten
Browse files Browse the repository at this point in the history
  • Loading branch information
Niels Hoffmann committed Jan 13, 2025
1 parent 287d714 commit 2a24463
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 14 deletions.
28 changes: 26 additions & 2 deletions respec/H2-architectuur.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,14 @@ In het kader van het NORA Nationaal Semantisch Vlak kan de logboek dataverwerkin
De voorlopige conclusie is dat de kern van de standaard zodanig generiek is dat deze in principe ook toegepast kan worden voor het loggen van (geo)objecten.
De aandachtspunten liggen vooral in de te maken keuzes in de implementatie of het uitbreiden met een extensie voor inzage.

<aside class="note">

Vanuit het juridisch beleidskader wordt duidelijk dat `dpl.core.data_subject_id` alleen gebruikt dient te worden voor het verwijzen naar een persoonsgegeven. Bij het loggen van (geo)objecten maken we dan ook geen gebruik van `dpl.core.data_subject_id` maar definieren we een extensie: `dpl.objects` om informatie over (geo)objecten te loggen. `dpl.core.data_subject_id` blijft leeg als er niet naar een persoonsgegeven verwezen wordt.
</aside>

### Implementatie keuzes

Voor dit onderzoek kiezen we ervoor om een implementatie te doen in een Digitale Tweeling.
Voor dit onderzoek kiezen we ervoor om de standaard te beproeven met een implementatie in een Digitale Tweeling.

[Digitale tweelingen zijn een praktisch hulpmiddel om alles wat bekend is over de leefomgeving, integraal inzichtelijk te maken.](https://www.geonovum.nl/themas/digital-twins) Een digitale tweeling wordt gevormd door een aantal bouwblokken. Door de functionaliteit van Logboek dataverwerkingen in te zetten in het bouwblok 'rekenen' leggen we data vast die gebruikt kan worden in het bouwblok 'vertrouwen'. Zie het rapport [Beleidsprocessen en bouwblokken voor Digitale Tweelingen](https://www.geonovum.nl/uploads/documents/Eindrapport%20Advies%20Beleid%20en%20Digital%20Twins%20-%20provincie%20Utrecht%20v1.3d.pdf) voor een uitleg van de verschillende bouwblokken.

Expand All @@ -57,6 +62,25 @@ Bij het onderzoek naar het implementeren van de Logboek dataverwerkingen standaa
![Dynamiek in Digitaal Tweelingen Ecosysteem](./respec/media/Front-Backend_achtergrond.png)
Illustratieve indicatie van de verschillende bouwblokken in een digitale tweelingen ecosysteem. bron: Geonovum


## Extensies

In de standaard wordt de basisfunctionaliteit beschreven, en wordt een [extensie aanpak](https://logius-standaarden.github.io/logboek-dataverwerkingen/#extensies) beschreven om de standaard uit te breiden.

### Extensie (Geo)objecten

`dpl.core.processing_activity_id` is gereserveerd voor het verwijzen naar een verwerkingsregister in het kader van de AVG en `dpl.core.data_subject_id` is gereserveerd voor het verwijzen naar een persoonsgegeven.

Voor het loggen van (geo)objectgegevens definieren we de volgende extensie:
`dpl.objects`

Binnen deze namespace kennen we de volgende eigenschappen:

- dpl.objects.processing_association_id : Verwijzing naar het register waar de verwerking van de betreffende (geo)objecten in staat beschreven.
- dpl.objects.data_association_id : Verwijzing naar een lijst van betrokken (geo)objecten.
- dpl.objects.data_association_def : Verwijzing naar een definitie van het betreffende (geo)object.


### Extensie Metadata

In de standaard wordt de basisfunctionaliteit beschreven, en wordt een [extensie aanpak](https://logius-standaarden.github.io/logboek-dataverwerkingen/#extensies) beschreven om de standaard uit te breiden. Voor het semantisch verbinden van de gelogde (geo)objectgegevens aan andere informatie maken we een conceptuele mapping naar [[PROV-O]], deze is uitgewerk in hoofdstuk 3. In de use case voorbeelden in hoofdtuk 4 onderzoeken we hoe deze mapping toegepast kan worden om de gelogde gegevens in context te plaatsen.
Voor het semantisch verbinden van de gelogde (geo)objectgegevens aan andere informatie maken we een conceptuele mapping naar [[PROV-O]], deze is uitgewerk in hoofdstuk 3. In de use case voorbeelden in hoofdtuk 4 onderzoeken we hoe deze mapping toegepast kan worden om de gelogde gegevens in context te plaatsen.
68 changes: 56 additions & 12 deletions respec/H3-conceptueel-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,12 @@ De basis van de standaard kent het Logboek (met de [interface](https://logius-st

[Illustratie uit de Logboek dataverwerkingen standaard, componenten in context](https://logius-standaarden.github.io/logboek-dataverwerkingen/#fig-componenten-in-context)

Het Logboek is in essentie een lijst van (PROV-O) Activiteiten. Het resultaat van die activiteit (oftewel de PROV-O Entity) is de gewijzigde data in de applicatie. Een PROV-O Agent is hier zowel de betrokkene of het object waar de datawijziging over gaat en de actor die de wijziging doorvoert.
Zowel Agent als Entity komen daarmee niet rechtstreeks in het kernmodel voor.
En we kunnen daarmee het Register ook niet eenduidig mappen op een van de kernconcepten van het PROV-O model.
Het Logboek is in essentie een lijst van (PROV-O) Activiteiten. Het resultaat van die activiteit (oftewel de PROV-O Entity) is de gewijzigde data in de applicatie. Een PROV-O Agent is hier zowel de betrokkene, of het object waar de datawijziging over gaat, en de actor die de wijziging doorvoert.
Zowel Agent als Entity komen daarmee niet rechtstreeks in het kernmodel van het logboek voor.

Als we een laag dieper kijken naar de [interface](https://logius-standaarden.github.io/logboek-dataverwerkingen/#interface) beschrijving vinden we daar echter wel aanknopingspunten voor een verdere mapping.

## Logboek Interface
## Logboek Interface (core)

```text
Een van de gedefinieerde attributen is het veld `resource`.
Expand Down Expand Up @@ -57,17 +56,17 @@ Via een 'prov:qualifiedAssociation' kan een Activiteit (dus een regel in het Log
:logregel_X a prov:Activity ;
prov:qualifiedAssociation [
a prov:Association;
prov:hadPlan :algoritme_Z;
rdfs:comment "logregel_X verwijst naar algoritme_Z"@nl;
prov:hadPlan :verwerkingsactiviteit_Z;
rdfs:comment "logregel_X verwijst naar verwerkingsactiviteit_Z"@nl;
];
.
:algoritme_Z a prov:Plan, prov:Entity;
rdfs:comment "algoritme om Z te berekenen..."@nl;
:Verwerkingsactiviteit_Z a prov:Plan, prov:Entity;
rdfs:comment "Verwerkingsactiviteit in het verwerkingenregister..."@nl;
.
```

Via een 'prov:qualifiedAssociation' kan een Activiteit (dus een regel in het Logboek) ook geassocieerd worden met een betrokkene/(geo)object.
Via een 'prov:qualifiedAssociation' kan een Activiteit (dus een regel in het Logboek) ook geassocieerd worden met een betrokkene.

```turtle
:logregel_X a prov:Activity ;
Expand All @@ -80,15 +79,60 @@ Via een 'prov:qualifiedAssociation' kan een Activiteit (dus een regel in het Log
.
:subject_Y a prov:Entity;
rdfs:comment "subject_Y is de betrokken partij (persoon/object) in de verwerking"@nl;
rdfs:comment "subject_Y is de betrokken persoon in de verwerking"@nl;
.
:betrokkene a prov:Role;
rdfs:comment "een betrokkene kan ook een (geo)object zijn in de context van de standaard logboek dataverwerkingen voor (geo)objecten"@nl;
rdfs:comment "extra rolduiding van de betrokken in het kader van de verwerkingsactiviteit"@nl;
.
```

De mapping van het technisch model van de standaard Logboek dataverwerkingen naar PROV-O maakt het vervolgens makkelijker om te verwijzen naar een externe definitie van het register of subject.
De mapping van het technisch (opentemetry) model van de standaard Logboek dataverwerkingen naar PROV-O maakt het vervolgens makkelijker om de loggegevens interoperabel te maken met andere systemn.

## Logboek Interface (objecten)

Net zoals de core standaard attributen definieert in de `dpl.core` namespace, definieren we attributen voor (geo)objecten in de `dpl.objects` namespace. Ook deze zijn op een vergelijkbare wijze te mappen naar PROV-O.

Via een 'prov:qualifiedAssociation' kan een Activiteit (dus een regel in het Logboek) geassocieerd worden met een Plan. (in dit geval een algoritme in in het algoritmeregister).

```turtle
:logregel_A a prov:Activity ;
prov:qualifiedAssociation [
a prov:Association;
prov:hadPlan :algoritme_B;
rdfs:comment "logregel_A verwijst naar algoritme_B"@nl;
];
.
:algoritme_B a prov:Plan, prov:Entity;
rdfs:comment "algoritme B in het algoritmeregister..."@nl;
.
```

Via een 'prov:qualifiedAssociation' kan een Activiteit (dus een regel in het Logboek) ook geassocieerd worden met een (Geo)object.

```turtle
:logregel_A a prov:Activity ;
prov:qualifiedAssociation [
a prov:Association;
prov:agent :list_of_objects;
prov:hadRole :input_for_activity;
rdfs:comment "logregel_A verwijst naar betreffende list_of_objects"@nl;
];
.
:list_of_objects a prov:Entity;
rdfs:comment "list_of_objects is de lijst van objecten in de verwerking"@nl;
.
:input_for_activity a prov:Role;
rdfs:comment "extra rolduiding van de betrokken objecten in het kader van het algoritme"@nl;
.
```

TODO: data_association_def in mapping verwerken...



## voorbeeld uitwerking

Expand Down

0 comments on commit 2a24463

Please sign in to comment.