@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:    <http://www.w3.org/2002/07/owl#> .
@prefix foaf:   <http://xmlns.com/foaf/0.1/> .
@prefix sh:     <http://www.w3.org/ns/shacl#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix skos:   <http://www.w3.org/2004/02/skos/core#> .
@prefix eprel:  <../vocab#> .
@prefix :       <concept.shapes.ttl#> .

# Entry shapes document for the two local codelists:
#   data = group/{url_code}   a product group
#   data = act/{code}         an implementing act
# Both are skos:Concept, so one shape serves both; each shows only the fields
# it has (a group has no ELI reference, an act no product listing). Also used
# nested, as the panel behind a product's eprel:productGroup and
# eprel:implementingAct.

<> a foaf:Document ;
    rdfs:label "Linked EPREL shapes: codelist concept"@en , "Linked-EPREL-Shapes: Codelisten-Begriff"@de ;
    owl:imports <../vocab> .

:ConceptShape
    a sh:NodeShape ;
    sh:targetClass skos:Concept ;
    sh:property [
        sh:path skos:prefLabel ;
        sh:name "Name"@en , "Name"@de ;
        sh:order 1
    ] , [
        sh:path skos:notation ;
        sh:name "Code"@en , "Code"@de ;
        sh:order 2
    ] , [
        sh:path eprel:productGroupCode ;
        sh:order 3
    ] , [
        sh:path dcterms:references ;
        sh:name "Legislation (ELI)"@en , "Rechtsakt (ELI)"@de ;
        sh:description "The act on EUR-Lex, by its European Legislation Identifier."@en ;
        sh:order 4
    ] , [
        sh:path eprel:regulationLabel ;
        sh:order 5
    ] , [
        sh:path eprel:products ;
        sh:order 6
    ] .
