# 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/PointOfInterestShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/dataModel.PointOfInterest/PointOfInterest> ;
  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://smartdatamodels.org/dataModel.PointOfInterest/category> ;
    sh:name "category", "Druh"@cs, "Art"@de, "Kind"@en, "Druh"@sk ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "hospital" "socialService" ) ;
    sh:minCount 1 ;
    rdfs:comment "What kind of place it is: `hospital` or `socialService`. The two registers share the Smart Data Model PointOfInterest, and an application asks for one with `q=category==\"hospital\"` (T-4329)."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/hospitalKind> ;
    sh:name "hospitalKind", "Typ nemocnice"@cs, "Krankenhausart"@de, "Hospital type"@en, "Typ nemocnice"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "general" "specialised" ) ;
    sh:maxCount 1 ;
    rdfs:comment "Whether the hospital is a general one or specialises in some fields."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/operatorName> ;
    sh:name "operatorName", "Provozovatel"@cs, "Betreiber"@de, "Operator"@en, "Prevádzkovateľ"@sk ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The legal person that runs it, as the register names it."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/medicalSpecialties> ;
    sh:name "medicalSpecialties", "Odbornosti"@cs, "Fachrichtungen"@de, "Specialties"@en, "Odbornosti"@sk ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The fields of medicine the hospital is licensed for, with their codes, as the register lists them."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/serviceKind> ;
    sh:name "serviceKind", "Druh služby"@cs, "Leistungsart"@de, "Service"@en, "Druh služby"@sk ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The kind of social service in the words of Act 448/2008 Z. z., such as `zariadenie pre seniorov` or `opatrovateľská služba`."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/serviceForm> ;
    sh:name "serviceForm", "Forma služby"@cs, "Leistungsform"@de, "Service form"@en, "Forma služby"@sk ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:in ( "field" "outpatient" "remote" "residentialWeekly" "residentialYearRound" ) ;
    sh:maxCount 1 ;
    rdfs:comment "How the service reaches the person it serves."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/targetGroup> ;
    sh:name "targetGroup", "Cílová skupina"@cs, "Zielgruppe"@de, "Target group"@en, "Cieľová skupina"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Whom the service is for, as the provisions of the Act the register cites."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/capacity> ;
    sh:name "capacity", "Kapacita"@cs, "Kapazität"@de, "Capacity"@en, "Kapacita"@sk ;
    sh:order 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "How many people the service may take at once, as registered; absent for a service registered without one."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/providerKind> ;
    sh:name "providerKind", "Poskytovatel"@cs, "Träger"@de, "Provider"@en, "Poskytovateľ"@sk ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:in ( "municipality" "municipalityFounded" "regionFounded" ) ;
    sh:maxCount 1 ;
    rdfs:comment "Which public body provides the service."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/legalId> ;
    sh:name "legalId", "IČO"@cs, "Firmennummer"@de, "Company ID"@en, "IČO"@sk ;
    sh:order 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    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 <http://schema.org/address> ;
    sh:name "address", "Adresa"@cs, "Adresse"@de, "Address"@en, "Adresa"@sk ;
    sh:order 11 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    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/districtName> ;
    sh:name "districtName", "Okres"@cs, "Bezirk"@de, "District"@en, "Okres"@sk ;
    sh:order 12 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The district the record lies in, by name, as the publisher writes it."
  ] ;
  sh:property [
    sh:path <http://schema.org/url> ;
    sh:name "url", "Webová stránka"@cs, "Webseite"@de, "Web page"@en, "Webová stránka"@sk ;
    sh:order 13 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The web page the publisher gives for it."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel dat"@cs, "Datenanbieter"@de, "Data provider"@en, "Poskytovateľ údajov"@sk ;
    sh:order 14 ;
    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 15 ;
    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://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 16 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .
