Reference
edcc-csrd.shapes
SHACL Shapes (2)
| Shape | Label | Target class | Properties |
|---|---|---|---|
| edccQ:CircularImpactResultShape | Circular impact result shape | --- | 6 |
| edcc:ImpactReportShape | Impact report shape | edcc:ImpactReport | 8 |
Circular impact result shape
Validates the structure of a circular impact metric result. Per Wang, Bates, Aronow & Jordan counterfactual framework: impact_real = benefit(reuse) - benefit(no_reuse). SHACL validates structure and provenance, NOT causal identification.
Target class: ---
| Property path | Constraint | Cardinality | Validation message |
|---|---|---|---|
| prov:wasDerivedFrom | sh:IRI · 1 | CircularImpactResult MUST link to source data via prov:wasDerivedFrom (provenance chain)...* | |
| edccQ:circularityRate | xsd:decimal · 1 | 1..circularityRate MUST be xsd:decimal in [0.0, 1.0] (weighted circularity ratio). | |
| edccQ:co2AvoidedTonnes | xsd:decimal · 1 | 1..co2AvoidedTonnes MUST be a non-negative decimal (counterfactual CO2 avoided). | |
| edccQ:counterfactualMethod | xsd:string · 1 | 1..counterfactualMethod MUST declare the estimation method used. | |
| edccQ:economicSavingsEur | xsd:decimal · 0 | 1..economicSavingsEur if present MUST be xsd:decimal (net savings vs virgin materials, EUR). | |
| edccQ:tonnesReused | xsd:decimal · 1 | 1..tonnesReused MUST be a non-negative decimal. |
Impact report shape
Validates a circular impact report (CU5). Every report MUST declare scope (project/territory/national), reporting period, NACE code, and link to regulatory controls it evidences (CSRD E1, CSRD E2, REP). Counterfactual metrics (CO2 avoided) are validated structurally.
Target class: edcc:ImpactReport
| Property path | Constraint | Cardinality | Validation message |
|---|---|---|---|
| dcterms:created | xsd:date · 1 | 1..edcc:ImpactReport MUST carry dcterms:created. | |
| dcterms:identifier | xsd:string · 1 | 1..edcc:ImpactReport MUST carry dcterms:identifier (report reference). | |
| rdfs:label | xsd:string · 1 | 1..edcc:ImpactReport MUST declare rdfs:label. | |
| prov:wasAttributedTo | sh:IRI · 1 | edcc:ImpactReport MUST carry prov:wasAttributedTo (reporting entity)...* | |
| evo:evidences | 1 · evo:Control | edcc:ImpactReport MUST evidence at least one evo:Control (CSRD/REP/ACV requirement)...* | |
| edccQ:reportingPeriodEnd | xsd:date · 1 | 1..edcc:ImpactReport MUST declare reporting period end date. | |
| edccQ:reportingPeriodStart | xsd:date · 1 | 1..edcc:ImpactReport MUST declare reporting period start date. | |
| edccQ:reportingScope | xsd:string · 1 | 1..edcc:ImpactReport MUST declare edccQ:reportingScope from controlled vocabulary. |
SPARQL example
# List all shapes and their target classes PREFIX sh: <http://www.w3.org/ns/shacl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?shape ?label ?target WHERE { ?shape a sh:NodeShape ; rdfs:label ?label . OPTIONAL { ?shape sh:targetClass ?target } } ORDER BY ?label