Informasjonsforvaltning / dcat-ap-no

Apache License 2.0
9 stars 3 forks source link

Eksempel under vokabular for dct:spatial er feil #446

Closed stigbd closed 4 months ago

stigbd commented 2 years ago

Følgende eksempel er brukt for å vise korrekt bruk av dct:spatial:

<> dct:spatial <https://data.geonorge.no/administrativeEnheter/fylke/id/173159> . 

Ref https://data.norge.no/specification/dcat-ap-no/#B%C3%B8r-brukes-for-spatial

Dette eksempelet er ikke korrekt. Validator gir følgende feilmelding:

Value does not have class dct:Location: http://data.geonorge.no/administrativeEnheter/nasjon/id/173163
jimjyang commented 2 years ago

Jeg er usikker på om jeg forstår problemstillingen.

At http://data.geonorge.no/administrativeEnheter/nasjon/id/173163 gir valideringsfeil er det i hvert fall to årsaker:

  1. Mønsteret for den maskinlesbare URIen skal være .../fylke/... for fylke og .../kommune/ for kommune, dvs. ikke .../nasjon/.... Hvor fant dere eksemplet?
  2. Validatoren vil uansett si at det er klasse-feil, fordi Kartverket ikke har satt .../fylke/id/173159 til å være av klasse dct:Location. Er vi for strenge? EU bruker to shacl-filer, en som ikke sjekker, og en som sjekker, klasse-tilhørighet.
stigbd commented 2 years ago

Re 1: Eksempelet er plukka frå dcat-ap-no spesifikasjonen: image

Re 2: Det er våre SHACL-regler som gir feil. Antagelegvis denne:

 [
        sh:class dct:Location ;
        sh:path dct:spatial ;
        sh:severity sh:Violation
    ]

Ref https://github.com/Informasjonsforvaltning/dcat-ap-no/blob/develop/shacl/DCAT-AP-NO-shacl_shapes_2.00.ttl#L274-L278

jimjyang commented 2 years ago

Re 1: Jeg ser nå at det er lenkene bak "Administrative enheter" som har mønsteret .../nasjon/.... Dette er bare for å peke til en menneskevennlig side hos Kartverket, mens URIen som skal brukes er oppgitt i raden "URI til vokabularet".

Re 2: Ja, våre shacl-regler sjekker klasse-tilhørighet av det som pekes på. I dette tilfellet skal det som pekes på være en instans av dct:Location. Validatoren klarer ikke å lese at ressursen som returneres er av instans av dct:Location og det blir derfor valideringsfeil. Tilsvarende har vi opplevd gang på gang når det pekes til EU-ressurser. Ref. også spørsmålet mitt i det andre Issuet om vi skal sjekke klasse-tilhørighet.

stigbd commented 2 years ago

Validatoren klarer ikke å lese at ressursen som returneres er av instans av dct:Location og det blir derfor valideringsfeil.

Ressursen er ikkje ein instans av dct:Location. Med mindre ein resonerer at alt som er verdi av dct:Location er pr def instans av dct:Location. I så fall kan vi fjerne mesteparten av shacl-reglane.

jimjyang commented 2 years ago

I så fall kan vi fjerne mesteparten av shacl-reglane.

Jeg syns også at vi bør ta bort sjekk på klasse-tilhørighet, i hvert fall når det er verdier fra et kontrollerte vokabular som det pekes på (muligens flere andre typer ressurser som det pekes på).

stigbd commented 2 years ago

I så fall kan vi fjerne mesteparten av shacl-reglane.

Jeg syns også at vi bør ta bort sjekk på klasse-tilhørighet, i hvert fall når det er verdier fra et kontrollerte vokabular som det pekes på (muligens flere andre typer ressurser som det pekes på).

Uenig. Eg synes vi skal følge EU sin praksis, og det er å ha shacl-regler som faktisk sjekker dette. Og så må vi forsøke å fikse "root cause", nemlig at det vokabularet vi seier at bør brukast, må publiserast som linked-data.

stigbd commented 2 years ago

Evt må vi fjerne anbefalinga om å bruke vokabularet som ikkje tilfredstiller spekken.

jimjyang commented 2 years ago

Uenig. Eg synes vi skal følge EU sin praksis, og det er å ha shacl-regler som faktisk sjekker dette. Og så må vi forsøke å fikse "root cause", nemlig at det vokabularet vi seier at bør brukast, må publiserast som linked-data.

EU har som sagt to ulike shacl-filer, en med og en uten sjekk på klasse-tilhørighet, se f.eks. https://github.com/ISAITB/validator-resources-bregdcat-ap/tree/master/resources/v2.00

jimjyang commented 2 years ago

Evt må vi fjerne anbefalinga om å bruke vokabularet som ikkje tilfredstiller spekken.

Nei.

Dette er et generelt problem som også gjelder EU: for dct:spatial er det obligatorisk å bruke EU sin http://publications.europa.eu/resource/authority/country/NOR for å si Norge, og den ressursen er ikke en instans av dct:Location. Tilsvarende med språk (dct:language), at det er obligatorisk å bruke http://publications.europa.eu/resource/authority/language/NOB for å si Bokmål, men den ressursen er ikke en instans av dct:LinguisticSystem. Osv. osv.

stigbd commented 2 years ago

Uenig. Eg synes vi skal følge EU sin praksis, og det er å ha shacl-regler som faktisk sjekker dette. Og så må vi forsøke å fikse "root cause", nemlig at det vokabularet vi seier at bør brukast, må publiserast som linked-data.

EU har som sagt to ulike shacl-filer, en med og en uten sjekk på klasse-tilhørighet, se f.eks. https://github.com/ISAITB/validator-resources-bregdcat-ap/tree/master/resources/v2.00

Vel, triplet vi snakkar om får feil i EU sin nye validator her: https://data.europa.eu/mqa/shacl-validator-ui/

jimjyang commented 2 years ago

Vel, triplet vi snakkar om får feil i EU sin nye validator her: https://data.europa.eu/mqa/shacl-validator-ui/

Ser ikke hvilken shacl som brukes av EU-validatoren.

Uansett, hva trengs gjort for å lukke dette Issuet?

jimjyang commented 4 months ago

Det fins ikke noen eksempel nå. Dette er uansett et generelt problem at anbefalte/påkrevde kontrollerte vokabularer ikke alltid er "type-satt" med ønskede klasser, dette inkl. også EU sine kontrollerte vokabularer.

Lukkes.