# 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/PublicOrganizationShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/dataModel.CPSV-AP/PublicOrganization> ;
  sh:closed false ;
  sh:property [
    sh:path <https://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] ;
  sh:property [
    sh:path <http://schema.org/name> ;
    sh:name "name" ;
    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://smartdatamodels.org/dataModel.CPSV-AP/preferredLabel> ;
    sh:name "preferredLabel" ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The organisation's official name, as CPSV-AP's PublicOrganization requires it."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataModel.CPSV-AP/spatial> ;
    sh:name "spatial" ;
    sh:datatype xsd:string ;
    rdfs:comment "The municipality the organisation is in, by name, as CPSV-AP's PublicOrganization requires it."
  ] ;
  sh:property [
    sh:path <http://schema.org/alternateName> ;
    sh:name "alternateName" ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The shorter name the organisation goes by, when it differs from the official one."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/legalId> ;
    sh:name "legalId" ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The body's identification number (IČO) in the Slovak register of legal persons."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/organizationCategory> ;
    sh:name "organizationCategory" ;
    sh:in ( "culture" "office" "school" "socialCare" ) ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "The field the region founded the organisation for."
  ] ;
  sh:property [
    sh:path <http://schema.org/address> ;
    sh:name "address" ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The postal address as the register publishes it, field by field (Smart Data Models' common PostalAddress, T-4329); a field the register leaves out is absent, never guessed."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/refMunicipality> ;
    sh:name "refMunicipality" ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The municipality the record lies in."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider" ;
    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" ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The open-data service the entity was read from."
  ] .
