Informatievlaanderen / OSLO-Discussion

Deze repository dient als discussie forum voor de publieke werkgroepen van OSLO
6 stars 2 forks source link

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

Open gezever opened 3 years ago

gezever commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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