SEMICeu / iso-19139-to-dcat-ap

Reference XSLT-based implementation of GeoDCAT-AP
European Union Public License 1.2
14 stars 12 forks source link

Value must be an instance of vcard:Kind | [Result path] - [http://www.w3.org/ns/dcat#contactPoint] #46

Open Kate-Lyndegaard opened 8 months ago

Kate-Lyndegaard commented 8 months ago

Hi,

I used the GeoDCAT-AP API to convert a CSW GetRecordById request. I tested the output in the DCAT-AP validator, and most of the errors are explained in https://github.com/SEMICeu/iso-19139-to-dcat-ap/issues/22.

I cannot find an explanation of the following error, however: Value must be an instance of vcard:Kind | [Result path] - [http://www.w3.org/ns/dcat#contactPoint]

I have a valid representation of contact point in my original metadata. Does anyone know what this error is referring to?

Test file: metadata_geodcat.zip

jakubklimek commented 1 month ago

This can be ignored.

The problem is that in the result, you have the value of dcat:contactPoint typed as vcard:Organization. That is a subclass of vcard:Kind, which is the range of dcat:contactPoint being checked by the SHACL. Although this is correct, the SHACL processor does not have the background knowledge that would tell it that in fact, vcard:Organization is a subclass of vcard:Kind. This results in the error reporting that the range is not of the expected type.

bertvannuffelen commented 1 month ago

In addition to @jakubklimek's correct reply. The https://www.itb.ec.europa.eu/shacl/dcat-ap/upload validator has a validation case "with background knowledge". That shows not that error. And thus illustrates this the correctness of this interpretation.