-
Notifications
You must be signed in to change notification settings - Fork 7
Description
SHACL Failing Cases Report
Specification: mobilityDCAT-AP v1.1.0
Shapes: dcat-ap-3.0.shacl.ttl, mobilitydcat-ap-1.1.0.shacl.ttl, mobilitydcat-ap-shacl-ranges.ttl
Validation Tool: Python pySHACL script (used to handle owl:imports)
Reason for Python Use: SHACL Playground does not correctly handle owl:imports in the shapes. Instead of relying on imports, multiple SHACL files are passed directly to the validator as a list.
Date of Validation: 2026-02-04
Failing Cases
- Case: Missing Distribution for Dataset
Description / Error: dcat:distribution is not validated
- Case: Missing Language Tag
Description / Error: the use of language tags are not checked in any of the classes.
For example in:
ex:catalog1 a dcat:Catalog ;
dct:title "Mobility Data Portal" ; # Missing language tag, should be like "..."@en
dct:description "A portal providing datasets about mobility."@en ;
“For free text, e.g. in the cases of titles, descriptions and keywords, the language tag is mandatory.” This is not validated.
Check section 8. Accessibility and Multilingual Aspects of the mobilityDCAT-AP specification.
- Case: Missmatched tags
Description / Error: Missmatched tags (Catalog description languages mismatch with dataset titles) like having a Catalog with
ex:catalog1 a dcat:Catalog ;
dct:title "Mobility Data Portal"@en
and a Dataset with
ex:dataset1 a dcat:Dataset ;
dct:title "Bus Schedule"@en ;
- Case: Empty multilingual description
Description / Error:
Catalog with an empty multilingual description like
dct:description ""@en ; # Empty literal
is not validated
- Case: Catalog with an invalid language tag
Description / Error:
ex:catalog1 a dcat:Catalog ;
dct:title "Mobility Data Portal"@english ; # Invalid language tag, should be "en"
- Case: Several validations missing for Dataset
Description / Error:
dcat:distribution is not validated
dct:accrualPeriodicity is not validated
mobilitydcatap:mobilityTheme is not validated
dct:spatial is not validated
dct:title is not validated
dct:publisher is not validated
- Case: Wrong validation for mobilitydcatap:mobilityDataStandard for Distribution
Description / Error:
I am providing the following example:
ex:dataset1 a dcat:Dataset ;
dct:title "GTFS Schedules"@en ;
dcat:distribution ex:distribution1 .
ex:distribution1 a dcat:Distribution ;
dcat:accessURL <https://example.org/downloads/gtfs.zip> ;
dct:format <http://publications.europa.eu/resource/authority/file-type/ZIP> ;
dct:rights <http://publications.europa.eu/resource/authority/access-right/PUBLIC> ;
mobilitydcatap:mobilityDataStandard
<http://publications.europa.eu/resource/authority/mobility-data-standard/GTFS> .
But the validation says that there is no mobilitydcatap:mobilityDataStandard property:
Focus Node: ex:distribution1
Result Path: mobilitydcatap:mobilityDataStandard
- Case: Two messages to indicate same error in Distribution
Description / Error: Currently, there are two messages referrencing the lack of dcat:accessURL for Distribution. This could be merged in only one message for clarity and avoid confusion on the user side.
Same behaviour for dct:format in Distribution.
Constraint Violation in MinCountConstraintComponent (http://www.w3.org/ns/shacl#MinCountConstraintComponent):
Severity: sh:Violation
Source Shape: [ sh:minCount Literal("1", datatype=xsd:integer) ; sh:nodeKind sh:BlankNodeOrIRI ; sh:path dcat:accessURL ; sh:severity sh:Violation ]
Focus Node: ex:distribution1
Result Path: dcat:accessURL
Message: Less than 1 values on ex:distribution1->dcat:accessURL
Constraint Violation in MinCountConstraintComponent (http://www.w3.org/ns/shacl#MinCountConstraintComponent):
Severity: sh:Violation
Source Shape: mdcap11:Distribution_Shape_accessURL
Focus Node: ex:distribution1
Result Path: dcat:accessURL
Message: Access URL is mandatory. Exactly one access URL must be provided as an IRI
- Case: Invalid URI, the URI is outside the official file-type scheme
Description / Error: I am providing an invalid URI which does not follow the officail file-type scheme provided by the controlled vocabulary for dct:format in Distribution, and it is not failing. We must provide a validation for such a case.
The example data is as follows:
ex:distribution1 a dcat:Distribution ;
dcat:accessURL <https://example.org/data/train_schedule.zip> ;
dct:format <https://example.com/formats/ZIP> ;
dct:rights <http://publications.europa.eu/resource/authority/access-right/PUBLIC> ;
dct:issued "2025-01-01"^^xsd:date .
Notes
- All tests were validated using a Python script due to
owl:importsnot being fully supported in SHACL Playground. - Only failing cases are included here. Passing tests are omitted for clarity.