# 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/AnyShape>
  a sh:NodeShape ;
  sh:targetClass <https://w3id.org/linkml/Any> ;
  sh:closed false .

<https://smartdatamodels.org/CityWorkShape>
  a sh:NodeShape ;
  sh:targetClass <https://uri.etsi.org/ngsi-ld/default-context/CityWork> ;
  sh:closed false ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/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, per language, as the publisher writes it."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/address> ;
    sh:name "address", "Adresa"@cs, "Adresse"@de, "Address"@en, "Adresa"@sk ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://w3id.org/linkml/Any> ;
    sh:maxCount 1 ;
    rdfs:comment "The Smart Data Models PostalAddress: the street address as the publisher writes it, one line, in `streetAddress`, and the city and country every Prague source shares."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/startDate> ;
    sh:name "startDate", "Datum začátku"@cs, "Beginndatum"@de, "Start date"@en, "Dátum začiatku"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:dateTime ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "When the work on the street starts, as the opravujeme.to record gives it in Europe/Prague time."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/endDate> ;
    sh:name "endDate", "Datum konce"@cs, "Enddatum"@de, "End date"@en, "Dátum konca"@sk ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:dateTime ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "When the work on the street is planned to end, in Europe/Prague time."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/workState> ;
    sh:name "workState", "Stav stavby"@cs, "Baustatus"@de, "Work state"@en, "Stav stavby"@sk ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:in ( "completed" "open" "planned" ) ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "Where the work stands, in the Smart Data Model's terms (planned, open, completed)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/workCategory> ;
    sh:name "workCategory", "Druh stavby"@cs, "Bauart"@de, "Work category"@en, "Druh stavby"@sk ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:in ( "construction" "cultural" "other" "sport" ) ;
    sh:maxCount 1 ;
    rdfs:comment "What occupies the street, as opravujeme.to classes it (construction, cultural, sport, others)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/trafficImpact> ;
    sh:name "trafficImpact", "Dopad na dopravu"@cs, "Verkehrsbeeinträchtigung"@de, "Traffic impact"@en, "Dopad na dopravu"@sk ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:in ( "minor" "moderate" "severe" ) ;
    sh:maxCount 1 ;
    rdfs:comment "How hard the work restricts traffic, opravujeme.to's colour as a word (minor green, moderate yellow, severe red)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/contractingAuthority> ;
    sh:name "contractingAuthority", "Investor"@cs, "Auftraggeber"@de, "Contracting authority"@en, "Investor"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The work's investor, a public body, utility or company; left out when it does not read as an organisation, because a private investor is a person."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel dat"@cs, "Datenanbieter"@de, "Data provider"@en, "Poskytovateľ údajov"@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://uri.etsi.org/ngsi-ld/default-context/source> ;
    sh:name "source", "Zdroj"@cs, "Quelle"@de, "Source"@en, "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:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .
