# SHACL shapes, rendered from the LinkML model.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

<https://smartdatamodels.org/SummaryGroup>
  a sh:PropertyGroup ;
  sh:order 0 ;
  rdfs:label "Základné"@sk, "Summary"@en .

<https://smartdatamodels.org/DetailGroup>
  a sh:PropertyGroup ;
  sh:order 1 ;
  rdfs:label "Detail"@sk, "Detail"@en .

<https://smartdatamodels.org/AdministrativeAreaShape>
  a sh:NodeShape ;
  sh:targetClass <https://joinedcontext.com/models/AdministrativeArea> ;
  sh:closed false ;
  sh:property [
    sh:path <http://schema.org/name> ;
    sh:name "name", "Název"@cs, "Name"@de, "Name"@en, "Názov"@sk ;
    sh:order 0 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The name as the publisher writes it, in Slovak; a string, as every Smart Data Model's `name` is (T-4523)."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/areaCode> ;
    sh:name "areaCode", "Kód území"@cs, "Gebietscode"@de, "Area code"@en, "Kód územia"@sk ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "The area's statistical code: LAU 1 (`SK0321`) for a district, LAU 2 (`SK0321508438`) for a municipality, the same codes the Statistical Office's cubes carry in `refArea`."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/divisionLevel> ;
    sh:name "divisionLevel", "Úroveň"@cs, "Ebene"@de, "Level"@en, "Úroveň"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "district" "municipality" ) ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "Which tier of the territorial division the area is."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/refParentArea> ;
    sh:name "refParentArea", "Okres"@cs, "Bezirk"@de, "District"@en, "Okres"@sk ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://joinedcontext.com/models/AdministrativeArea> ;
    sh:maxCount 1 ;
    rdfs:comment "The district a municipality lies in; absent on a district."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/surfaceArea> ;
    sh:name "surfaceArea", "Výměra"@cs, "Fläche"@de, "Area"@en, "Výmera"@sk ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:float ;
    sh:maxCount 1 ;
    rdfs:comment "The area's surface as the cadastre states it."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/isPartOf> ;
    sh:name "isPartOf", "Datová sada"@cs, "Datensatz"@de, "Dataset"@en, "Dataset"@sk ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The catalogue dataset the record belongs to, which tells the region's districts from its municipalities in one type (T-4523)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel dat"@cs, "Datenanbieter"@de, "Data provider"@en, "Poskytovateľ údajov"@sk ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Who publishes the data the entity was read from, with the credit its licence asks for, as an application shows it beside the data."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/source> ;
    sh:name "source", "Zdroj"@cs, "Quelle"@de, "Source"@en, "Zdroj"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The open-data service the entity was read from."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/childAreas> ;
    sh:name "childAreas", "Obce"@cs, "Gemeinden"@de, "Municipalities"@en, "Obce"@sk ;
    sh:order 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://joinedcontext.com/models/AdministrativeArea> ;
    rdfs:comment "The municipalities of a district, computed from their refParentArea and never stored."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/publicOrganizations> ;
    sh:name "publicOrganizations", "Organizace kraje"@cs, "Einrichtungen der Region"@de, "Regional bodies"@en, "Organizácie kraja"@sk ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    rdfs:comment "The organisations the region founded in this municipality, computed from their refMunicipality and never stored."
  ] ;
  sh:property [
    sh:path <https://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .
