Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

besluitvorming: range van prov:agent is dc:Agent ipv. prov:Agent #381

Open
gezever opened this issue Jan 26, 2021 · 4 comments
Open

besluitvorming: range van prov:agent is dc:Agent ipv. prov:Agent #381

gezever opened this issue Jan 26, 2021 · 4 comments

Comments

@gezever
Copy link

gezever commented Jan 26, 2021

Model(len) waarop de issue van toepassing is:
besluitvorming
Omschrijving van het probleem:
Class constraint:
De range van prov:agent is niet correct.
https://data.vlaanderen.be/shacl/besluitvorming-ap#AgentInRolShape a shacl:NodeShape;
shacl:property [
shacl:class dc:Agent;
shacl:description "Duidt de agent aan waarvan deze entiteit een rol toewijst.";
shacl:maxCount 1;
shacl:minCount 1;
shacl:name "isRolSpecialisatieVan";
shacl:path prov:agent
];
shacl:targetClass prov:Association .
Onze data valideert niet.
sh:result [ a sh:ValidationResult ;
sh:focusNode https://data.dba.omgeving.vlaanderen.be/id/association/activity_dba_NiM9hqZSSiiodbnqxSvqGg_d41d8cd98f00b204e9800998ecf8427e_aanvrager ;
sh:resultMessage "ClassConstraint[http://purl.org/dc/terms/Agent]: Expected class :http://purl.org/dc/terms/Agent for https://data.dba.omgeving.vlaanderen.be/id/agent/35952d55b6da7f3124ef77ae03179581" ;
sh:resultPath prov:agent ;
sh:resultSeverity sh:Violation ;
sh:sourceConstraintComponent sh:ClassConstraintComponent ;
sh:sourceShape _:b0 ;
sh:value https://data.dba.omgeving.vlaanderen.be/id/agent/35952d55b6da7f3124ef77ae03179581
]
Omschrijving van een mogelijke oplossing:

https://data.vlaanderen.be/shacl/besluitvorming-ap#AgentInRolShape a shacl:NodeShape;
shacl:property [
shacl:class prov:Agent;
shacl:description "Duidt de agent aan waarvan deze entiteit een rol toewijst.";
shacl:maxCount 1;
shacl:minCount 1;
shacl:name "isRolSpecialisatieVan";
shacl:path prov:agent
];
shacl:targetClass prov:Association .

@nvdk
Copy link

nvdk commented Jan 27, 2021

Dit staat in de inleiding van het applicatieprofiel, wat prov betreft kan je dc:Agent en prov:Agent als equivalent beschouwen. Omdat in OSLO generiek is gekozen voor dc:Agent hebben we in dit profiel gekozen om te conformeren naar OSLO generiek.

Een Agent is iemand die of iets dat kan handelen of een effect kan teweeg brengen. Een agent draagt een vorm van verantwoordelijkheid (rol) binnen een activiteit die plaatsvindt.
NOTA: Voor Agent werd binnen OSLO gekozen om de definitie uit Dublin Core te herbruiken. Binnen dit applicatieprofiel mag uitgegaan worden van de equivalentie tussen dc:Agent en prov:Agent, zoals aangeven in de mapping van het W3C.

Zie ook https://www.w3.org/TR/2013/NOTE-prov-dc-20130430/

@gezever
Copy link
Author

gezever commented Jan 28, 2021

Die equivalentie blijkt niet uit het applicatieprofiel en de shacl.
Een mogelijke oplossing is een shacl:or gebruiken.
https://data.vlaanderen.be/id/nodeshape/AssociationShape a shacl:NodeShape ;
rdfs:label "Association"^^xsd:string ;
shacl:property [ shacl:maxCount "1"^^xsd:int ;
shacl:minCount "1"^^xsd:int ;
shacl:name "agent"^^xsd:string ;
shacl:nodeKind shacl:IRI ;
shacl:or [ ns1:class dc:Agent ],
[ shacl:class prov:Agent ];
shacl:path prov:agent ] ;
shacl:targetClass prov:Association .

@nvdk
Copy link

nvdk commented Jan 28, 2021

ik weet niet of we de shacl makkelijk kunnen aanpassen, deze wordt gegenereerd door de OSLO toolchain. Verder lijkt je opmerking me de juiste.

@gezever
Copy link
Author

gezever commented Jan 28, 2021

Niet schaalbare oplossingen, typen van een model en shape constraints in turtle, zijn vaak sneller en stabieler. ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants