Dit document beschrijft een applicatieprofiel, in dit geval OSLO-LDES. Dit applicatieprofiel beantwoordt de vraag over hoe het corresponderende domeinmodel in de praktijk kan toegepast worden. Daarbij worden de beperkingen (kardinaliteit, codelijsten) toegelicht en de overeenkomstige (RDF) termen opgelijst.

Samenvatting

Het applicatieprofiel ‘OSLO LDES’ is gebaseerd op de Europese Linked Data Event Stream specificatie en richt zicht op het interoperabel ontsluiten van data en de bijbehorende contextuele informatie. De LDES-specificatie laat toe een collectie van onveranderlijke objecten te beschrijven. Daarbij is het de bedoeling dat een afnemer elk item in de stroom kan repliceren om zo gesynchroniseerd te blijven met de bron als items worden toegevoegd. De beschrijving van de items in de event stream gebruikt de TREE specificatie die op zijn beurt compatibel is met onder andere specificaties als Solid, Activity Streams, DCAT-AP, LDP en Shape Trees. De LDES-specificatie laat tevens toe om via “retention policies” te beschrijven hoe ver in het verleden deze data bewaard blijven. Verder laat het applicatieprofiel ook toe om afgeleide datasets te beschrijven. Denk hierbij aan snapshots of versie-materialisaties en bijbehorende event streams.

Status van dit document

Dit applicatieprofiel heeft status Erkende Standaard en werd uitgegeven op 2022-12-01.

Informatie over het gevolgde proces en de beslissingen om tot deze specificatie te komen zijn beschikbaar in het standaardenregister.

Licentie

Deze specificatie van Digitaal Vlaanderen is gepubliceerd onder de "Modellicentie Gratis Hergebruik - v1.0".

Conformiteit

De conformiteit voor applicatieprofielen is hier te vinden.

Entiteiten

AfgeleideCollectie

Beschrijving
Een collectie die afgeleid is van een andere collectie.
Subklasse van
Collectie
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: afgeleidVan.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
afgeleidVan Collectie 1..* Een afleiding is een transformatie van de ene entiteit in een andere, een update van de ene entiteit naar een nieuwe, of de constructie van een nieuwe entiteit gebaseerd op een reeds bestaande entiteit.

Collectie

Beschrijving
Een collectie is een verzameling van objecten. Deze leden voldoen allen aan een opgelegde shape.
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: lid, shape, view.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
lid CollectieLid 0..* Object dat deel uitmaakt van de collectie.
shape Shape 1 Een shape is een technische beschrijving van de structuur waaraan de objecten uit de LDES moeten voldoen.
view Rootnode 0..* Een view is de index/ invariant/ organisatie waarmee doorheen de collectie (LDES) kan worden genavigeerd.

CollectieLid

Beschrijving
Een object dat deel uitmaakt van een collectie.
Gebruik
Kan verder gespecialiseerd worden in functie van het soort collectie, bijvoorbeeld als de collectie een event stream is zijn de collectieleden onveranderlijke objecten.
Eigenschappen
Voor deze entiteit zijn geen eigenschappen gedefinieerd.

Dataservice

Beschrijving
Een verzameling van operaties die ofwel toegang bieden tot één of meer datasets ofwel een dataverwerkingsdoel hebben.
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: biedtInformatieAanOver, conformAanProtocol, endpointURL.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
biedtInformatieAanOver Dataset 0..* De data die via deze dataservice worden aangeboden.
conformAanProtocol Standaard 1 Een protocol waaraan de dataservice voldoet.
endpointURL URi 1 De rootlocatie of het primaire endpoint van de dienst (een web-resolvable URi).

DataServiceLDES

Beschrijving
Een verzameling van operaties die ofwel toegang bieden tot één of meer Linked Data Event Streams.
Gebruik
Het protocol is hier per default dat van de Linked Data Event Stream.
Subklasse van
Dataservice
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: conformAanProtocol, endpointURL.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
conformAanProtocol Standaard 1 Een protocol waaraan de dataservice voldoet.
endpointURL Rootnode 1 De rootlocatie of het primaire endpoint van de dienst (een web-resolvable URi).

Dataset

Beschrijving
Een verzameling gegevens, gepubliceerd of samengesteld door één agent, en beschikbaar voor toegang of download in één of meerdere voorstellingswijzen.
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: conform.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
conform Standaard 1 Een standaard, schema, applicatieprofiel, vocabularium waaraan de dataset voldoet.

DurationAgoPolicy

Beschrijving
Een op tijd gebaseerd retentiebeleid dat door middel van een waarde aangeeft van op welk moment in de tijd elementen geen deel meer mogen uitmaken van de Linked Data Event Stream. 
Gebruik
Een DurationAgoPolicy maakt gebruik van een tree:view om aan te duiden of de timestamp mag geherdefinieerd worden door het beleid zelf.
Subklasse van
RetentionPolicy
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: timestampPath, value.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
timestampPath URi 0..1 Geeft weer hoe elementen van een LDES zich tot elkaar verhouden door een tijdstip. Een SHACL property path naar de timestamp wanneer het versie-object een element werd van de event stream.
value Duration 1 De waarde waarmee de gelinkte node in de relatie tussen de nodes is vergeleken.

EventStream

Beschrijving
Een collectie van onveranderlijke objecten (zoals versie-objecten & sensor-observaties). Deze objecten volgen een opgelegde shape.
Subklasse van
Collectie, Dataset
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: lid, shape, timestampPath, versionOfPath, view.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
lid OnveranderlijkObject 0..* Onveranderlijk object dat deel uitmaakt van de collectie.
shape Shape 1 Een schema waaraan alle elementen in de eventstream moeten voldoen. Een shape wordt opgelegd aan alle elementen van de LDES. Voorbeelden van zo'n shape zijn SHACL en ShEx.
timestampPath URi 0..1 Geeft weer hoe elementen van een LDES zich tot elkaar verhouden door een specifiek tijdstip. Een SHACL property path naar de timestamp wanneer het versie-object een element werd van de event stream.
versionOfPath URi 0..1 Geeft de versie van het element weer. Een SHACL property path naar de niet-geversioneerde identifier van een element.
view Rootnode 0..* Een view is de index/invariant/organisatie waarmee doorheen de collectie/ Linked Data Event Stream kan worden genavigeerd.

EventstreamView

Beschrijving
De event stream view connecteert de collectie met de rootnode zodanig dat alle leden van de collectie gevonden kunnen worden.
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: retentiebeleid, rootNode.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
retentiebeleid RetentionPolicy 0..1 Een retentiebeleid is een beleid volgens welke elementen (i.e. data) verwijderd zullen worden.
rootNode Rootnode 1 Een rootnode is een beginpagina, die zelf al leden kan bevatten, via wiens gelinkte pagina’s alle leden kunnen gevonden worden.

LatestVersionSubset

Beschrijving
De laatste versie van een element/subset dat voldoet aan een bepaald beleid.
Subklasse van
RetentionPolicy
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: amount, timestampPath, versionKey, versionOfPath.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
amount Integer 1 Aantal versies van één element die behouden mogen worden.
timestampPath URi 0..1 Geeft weer hoe elementen van een Linked Data Event Stream zich tot elkaar verhouden door een tijdstip. Een SHACL property path naar de timestamp wanneer het versie-object een element werd van de event stream.
versionKey URi 0..* Een lijst van SHACL property paths die samen een version key vormen.
versionOfPath URi 0..1 Geeft de versie van het element weer. Een SHACL property path naar de niet-geversioneerde identifier van een element.

Node

Beschrijving
Een node is een pagina die relaties naar andere nodes kan bevatten.
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: , lid, relatie.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
ViewDescription 1
lid CollectieLid 0..* Een lid maakt deel uit van de collectie.
relatie Relatie 0..* Een klasse die de relatie tussen twee nodes beschrijft.

Object

Beschrijving
Entiteit waarvan alle entiteiten zijn afgeleid.
Eigenschappen
Voor deze entiteit zijn geen eigenschappen gedefinieerd.

Observatie

Beschrijving
Het vaststellen van de waarde van een bepaald kenmerk van een object op een bepaald tijdstip of tussen twee tijdstippen.
Gebruik
OPMERKING: Deze klasse wordt meer uitgebreid  beschreven in  het OSLO-applicatieprofiel Observaties en Metingen.
Eigenschappen
Voor deze entiteit zijn geen eigenschappen gedefinieerd.

OnveranderlijkObject

Beschrijving
Een onveranderlijk object is een object wiens status niet meer kan veranderen nadat het werd gecreëerd.
Gebruik
Een onveranderlijk object is het basiselement van een eventstream.
Subklasse van
CollectieLid
Eigenschappen
Voor deze entiteit zijn geen eigenschappen gedefinieerd.

Relatie

Beschrijving
Een klasse die de relatie tussen twee nodes beschrijft.
Gebruik
Er bestaan specifieke subklassen die een specifiek type van relatie tussen de nodes beschrijven. Deze specifieke relaties zijn beschreven op de TREE specificatie.
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: node, pad, waarde.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
node Node 0..1 Een node is een pagina die relaties naar andere nodes kan bevatten.
pad URi 1 Een property path, gedefinieerd door een SHACL, die weergeeft welke zaken beïnvloed worden door tree:value. Binnen SHACL zijn er RDF terms die een subset van SPARQL property paths beschrijven. Meer informatie kan [zie hier] teruggevonden worden.
waarde Literal 1 De waarde in de node waarmee de relatie gaat vergelijken om een volgende node aan te linken. De tree:value is de contextuele waarde van de node. Deze waarde is vrij in te vullen door bijvoorbeeld een string, een integer of een link naar een andere resource waar een duidelijke vergelijkingsregel werd gedefinieerd.

RetentionPolicy

Beschrijving
Een retentiebeleid is een beleid volgens welke elementen (i.e. data) verwijderd zullen worden.
Gebruik
Enkele voorbeelden van retentiebeleiden zijn DurationAgoPolicy en LatestVersionSubset.
Eigenschappen
Voor deze entiteit zijn geen eigenschappen gedefinieerd.

Rootnode

Beschrijving
Een rootnode is een beginpagina, die zelf al leden kan bevatten, via wiens gelinkte pagina's alle leden kunnen gevonden worden.
Gebruik
Naar de rootnode wordt verwezen vanuit de eventstream bij voorkeur via een eventstream-view.
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: eventstreamView.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
eventstreamView EventstreamView 1 De event stream view connecteert de collectie met de rootnode zodanig dat alle leden van de collectie gevonden kunnen worden.

Shape

Beschrijving
Een shape is een technische beschrijving van de structuur waaraan de objecten uit de LDES moeten voldoen.
Gebruik
Een shape wordt ofwel door een URi beschreven ofwel inline. Beide opties zijn mogelijk.
Eigenschappen
Voor deze entiteit zijn geen eigenschappen gedefinieerd.

Snapshot

Beschrijving
Een event stream van versies waarbij enkel laatste versie behouden blijft t.o.v. een opgegeven datum.
Subklasse van
EventStream, Dataset
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: lid, shape, snapshotTot, snapshotVan.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
lid OnveranderlijkObject 0..* Een lid maakt deel uit van de collectie.
shape Shape 1 Een bepaalde shape aan welke alle elementen in de event stream moeten voldoen. Een shape wordt opgelegd aan alle elementen van de LDES. Voorbeelden van zo'n shape zijn SHACL en ShEx. De shape moet cohorent zijn doorheen heel de Linked Data Event Stream.
snapshotTot DateTime 1 Het tijdstip waarop de snapshot van de Linked Data Event Stream werd genomen.
snapshotVan VersieEventStream 0..1 Verwijst naar de originele Linked Data Event Stream.

VeranderlijkObject

Beschrijving
Een veranderlijk object is een object wiens status nog kan veranderen nadat het werd gecreëerd.
Gebruik
Een veranderlijk object wordt gebruikt als basiselement van een dataset.
Subklasse van
CollectieLid
Eigenschappen
Voor deze entiteit zijn geen eigenschappen gedefinieerd.

Versie

Beschrijving
Stelt een entiteit voor in één specifieke periode.
Gebruik
OPMERKING: Deze klasse wordt meer uitgebreid beschreven in OSLO Generiek.
Eigenschappen
Voor deze entiteit zijn geen eigenschappen gedefinieerd.

VersieEventStream

Beschrijving
Een event stream waarvan de leden versies zijn.
Subklasse van
EventStream
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: timestampPath, versionOfPath.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
timestampPath URi 1 Geeft weer hoe elementen van een LDES zich tot elkaar verhouden door een tijdstip. Een SHACL property path naar de timestamp wanneer het versie-object een element werd van de event stream.
versionOfPath URi 1 Geeft de versie van het element weer. Bijvoorbeeld een SHACL property path naar de niet-geversioneerde identifier van een element.

VersieMaterialisatie

Beschrijving
Een snapshot waarbij de versie-identificatoren zijn vervangen door object-identificatoren.
Gebruik
Om deze reden (zie definitie) zijn de collectieleden veranderlijke - in plaats van onveranderlijke objecten.
Subklasse van
Collectie, Dataset
Eigenschappen
Voor deze entiteit zijn de volgende eigenschappen gedefinieerd: lid, shape, versieMaterialisatieTot, versieMaterialisatieVan.
Eigenschap Verwacht Type Kardinaliteit Beschrijving Gebruik Codelijst
lid VeranderlijkObject 0..* Een lid maakt deel uit van de collectie.
shape Shape 1 Een bepaalde shape aan welke alle elementen in de event stream moeten voldoen. Een shape wordt opgelegd aan alle elementen van de LDES. Voorbeelden van zo'n shape zijn SHACL en ShEx. De shape moet cohorent zijn doorheen heel de Linked Data Event Stream.
versieMaterialisatieTot DateTime 1 Het tijdstip tot wanneer versies werden verwerkt. Het attribuut versieMaterialisatieTot geeft weer tot op welk moment de versies werden geaggregeerd.
versieMaterialisatieVan Snapshot 0..1 Verwijst naar de originele Linked Data Event Stream.

Datatypes

JSON-LD context

(niet normatief)

Een herbruikbare JSON-LD context definitie voor dit applicatieprofiel is terug te vinden op: /doc/applicatieprofiel/ldes/erkendestandaard/2022-12-01/context/OSLO-LDES-ap.jsonld

SHACL template

(niet normatief)

Een herbruikbare SHACL template definitie voor dit applicatieprofiel is terug te vinden op: /doc/applicatieprofiel/ldes/erkendestandaard/2022-12-01/shacl/OSLO-LDES-ap-SHACL.ttl