# 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/EventShape>
  a sh:NodeShape ;
  sh:targetClass <http://schema.org/Event> ;
  sh:closed false ;
  sh:property [
    sh:path <http://schema.org/name> ;
    sh:name "name", "Název"@cs, "Name"@de, "Name"@en, "Nimi"@fi, "Názov"@sk ;
    sh:order 0 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The name, per language, as the publisher writes it."
  ] ;
  sh:property [
    sh:path <http://schema.org/startDate> ;
    sh:name "startDate", "Začátek"@cs, "Beginn"@de, "Start"@en, "Alkaa"@fi, "Začiatok"@sk ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:dateTime ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "When the event starts, an instant with the city's offset: the published day at its start time, or at local midnight when no time is published (`startTime` is then absent)."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/startTime> ;
    sh:name "startTime", "Čas začátku"@cs, "Startzeit"@de, "Start time"@en, "Alkamisaika"@fi, "Čas začiatku"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The time the event starts, local time in Banská Bystrica (Europe/Bratislava), `HH:MM`."
  ] ;
  sh:property [
    sh:path <http://schema.org/endDate> ;
    sh:name "endDate", "Konec"@cs, "Ende"@de, "End"@en, "Päättyy"@fi, "Koniec"@sk ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:dateTime ;
    sh:maxCount 1 ;
    rdfs:comment "When the event ends, as `startDate`: the published last day at its end time, or at local midnight when no time is published."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/endTime> ;
    sh:name "endTime", "Čas konce"@cs, "Endzeit"@de, "End time"@en, "Päättymisaika"@fi, "Čas konca"@sk ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The time the event ends, local time in Banská Bystrica (Europe/Bratislava), `HH:MM`."
  ] ;
  sh:property [
    sh:path <http://schema.org/address> ;
    sh:name "address", "Adresa"@cs, "Adresse"@de, "Address"@en, "Osoite"@fi, "Adresa"@sk ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The postal address as the source publishes it, field by field (Smart Data Models' common PostalAddress, T-4329); a field the source leaves out is absent, never guessed."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/eventCategory> ;
    sh:name "eventCategory", "Kategorie"@cs, "Kategorie"@de, "Category"@en, "Luokka"@fi, "Kategória"@sk ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:in ( "exhibition" "museumsGalleriesLibraries" "musicDanceTheatre" "other" "sport" ) ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "The kind of event, from the city's own categories."
  ] ;
  sh:property [
    sh:path <http://schema.org/url> ;
    sh:name "url", "Odkaz"@cs, "Link"@de, "Link"@en, "Linkki"@fi, "Odkaz"@sk ;
    sh:order 7 ;
    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"@cs, "Anbieter"@de, "Provider"@en, "Tarjoaja"@fi, "Poskytovateľ"@sk ;
    sh:order 8 ;
    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, "Lähde"@fi, "Zdroj"@sk ;
    sh:order 9 ;
    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 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dateModified> ;
    sh:name "dateModified", "Změněno"@cs, "Geändert"@de, "Modified"@en, "Muokattu"@fi, "Zmenené"@sk ;
    sh:order 11 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:dateTime ;
    sh:maxCount 1 ;
    rdfs:comment "When the publisher last changed the record."
  ] .
