@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 sh:     <http://www.w3.org/ns/shacl#> .
@prefix foaf:   <http://xmlns.com/foaf/0.1/> .
@prefix ldp:    <http://www.w3.org/ns/ldp#> .
@prefix hydra:  <http://www.w3.org/ns/hydra/core#> .
@prefix eprel:  <../vocab#> .
@prefix :       <container.shapes.ttl#> .

# Entry shapes document for the LDP containers:
#   data = product/, group/, act/, cl/, supplier/   the collections
#   data = group/{url_code}/products?offset=N       one page of a group's models
#   data = search?{query}                           a search's result set
# Each shows only the fields it has: a collection has no counts, a page has no
# comment, and only a group's container names its product group.

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

:ContainerShape
    a sh:NodeShape ;
    sh:targetClass ldp:BasicContainer ;
    sh:property [
        sh:path rdfs:comment ;
        sh:name "Description"@en , "Beschreibung"@de ;
        sh:order 1
    ] , [
        sh:path eprel:productGroup ;
        sh:order 2
    ] , [
        sh:path hydra:totalItems ;
        sh:name "Total"@en , "Gesamt"@de ;
        sh:order 3
    ] , [
        sh:path eprel:reachableCount ;
        sh:order 4
    ] , [
        sh:path ldp:contains ;
        sh:name "Members"@en , "Elemente"@de ;
        sh:order 5
    ] .
