# 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/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 as the city publishes it, in Catalan (a station, an event, a facility, a street section and its stretch, a street address, a district or barri, a work, a tourist flat by its register number)."
  ] ;
  sh:property [
    sh:path <http://purl.org/dc/terms/description> ;
    sh:name "description", "Popis"@cs, "Beschreibung"@de, "Description"@en, "Popis"@sk ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The work's description as the city publishes it, in Catalan."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/workNumber> ;
    sh:name "workNumber", "Číslo stavby"@cs, "Baunummer"@de, "Work number"@en, "Číslo stavby"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "The city's code of the work, such as 05-2025G0074 (district, year, number)."
  ] ;
  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 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "completed" "open" "other" ) ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "Where the work stands, in the Smart Data Model's terms."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/workStateLabel> ;
    sh:name "workStateLabel", "Stav stavby (text města)"@cs, "Baustatus (Wortlaut der Stadt)"@de, "Work state (city wording)"@en, "Stav stavby (text mesta)"@sk ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The work's state as the city writes it, in Catalan (En execució, Aturada, Finalitzada)."
  ] ;
  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:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The city's kind of work, in Catalan (Urbanització, Serveis, Clavegueram...)."
  ] ;
  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 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:dateTime ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "The first day, local midnight in Europe/Madrid: of an event (the agenda publishes the day, its hours sit in a free-text timetable) or of a work on the public space."
  ] ;
  sh:property [
    sh:path <http://schema.org/endDate> ;
    sh:name "endDate", "Datum konce"@cs, "Enddatum"@de, "End date"@en, "Dátum konca"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:dateTime ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "The last day, local midnight in Europe/Madrid: of an event (absent when the agenda gives none) or the planned last day of a work on the public space."
  ] ;
  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 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The work's promoter, a public body, utility or company; left out when it may name a person."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/tenderAmount> ;
    sh:name "tenderAmount", "Soutěžní částka (EUR)"@cs, "Ausschreibungsbetrag (EUR)"@de, "Tender amount (EUR)"@en, "Súťažná suma (EUR)"@sk ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:float ;
    sh:maxCount 1 ;
    rdfs:comment "The budget the work was put out to tender with, in euros."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/awardAmount> ;
    sh:name "awardAmount", "Smluvní částka (EUR)"@cs, "Zuschlagsbetrag (EUR)"@de, "Award amount (EUR)"@en, "Zmluvná suma (EUR)"@sk ;
    sh:order 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:float ;
    sh:maxCount 1 ;
    rdfs:comment "The budget the work was awarded for, in euros."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/areaServed> ;
    sh:name "areaServed", "Čtvrť"@cs, "Stadtviertel"@de, "Neighbourhood"@en, "Štvrť"@sk ;
    sh:order 11 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is as the city names it: the barri of a station, a well or a tourist flat, the place of a work (a street and number, a square, a park)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/territorialArea> ;
    sh:name "territorialArea", "Dotčené obvody"@cs, "Betroffene Bezirke"@de, "Districts touched"@en, "Dotknuté obvody"@sk ;
    sh:order 12 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Every district the work touches, by name, separated by \"; \"."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/refDistrict> ;
    sh:name "refDistrict", "Obvod"@cs, "Bezirk"@de, "District"@en, "Obvod"@sk ;
    sh:order 13 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The district the work lies in, when it lies in one district only."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/seeAlso> ;
    sh:name "seeAlso", "Více informací"@cs, "Siehe auch"@de, "See also"@en, "Viac informácií"@sk ;
    sh:order 14 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The work's page on the city's works site."
  ] ;
  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 15 ;
    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."
  ] ;
  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 16 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The open-data file or the Open Data BCN dataset the entity was read from."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/location> ;
    sh:name "location" ;
    sh:order 17 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .
