# 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/RoadAccidentShape>
  a sh:NodeShape ;
  sh:targetClass <https://uri.etsi.org/ngsi-ld/default-context/RoadAccident> ;
  sh:closed false ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/localId> ;
    sh:name "localId", "Místní identifikátor"@cs, "Lokale Kennung"@de, "Local identifier"@en, "Miestny identifikátor"@sk ;
    sh:order 0 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The source's own identifier of the record: a bike lane's segment code in the city's map layer (GL4683814), an accident's police file number (2025S000001)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/status> ;
    sh:name "status", "Stav"@cs, "Status"@de, "Status"@en, "Stav"@sk ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "archived" ) ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "The state of the charging point from its ports: working while one is free, full when none is free and one charges, outOfService when every port is out of order, unavailable or unknown."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/accidentDate> ;
    sh:name "accidentDate", "Čas nehody"@cs, "Unfallzeit"@de, "Accident time"@en, "Čas nehody"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:dateTime ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "The hour of the accident, UTC: the police file gives the local day and hour only, so the minutes are 00."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/totalInjured> ;
    sh:name "totalInjured", "Zranění celkem"@cs, "Verletzte insgesamt"@de, "Injured in total"@en, "Zranení spolu"@sk ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "The people injured and alive, slightly and seriously, as the police file counts them."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/seriouslyInjured> ;
    sh:name "seriouslyInjured", "Těžce zranění"@cs, "Schwer verletzt"@de, "Seriously injured"@en, "Ťažko zranení"@sk ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "The people seriously injured (lesionats greus)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/slightlyInjured> ;
    sh:name "slightlyInjured", "Lehce zranění"@cs, "Leicht verletzt"@de, "Slightly injured"@en, "Ľahko zranení"@sk ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "The people slightly injured (lesionats lleus)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/deadCount> ;
    sh:name "deadCount", "Mrtví"@cs, "Tote"@de, "Dead"@en, "Mŕtvi"@sk ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "The people dead, as the police file counts them (morts)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/vehicleCount> ;
    sh:name "vehicleCount", "Počet vozidel"@cs, "Anzahl der Fahrzeuge"@de, "Vehicles"@en, "Počet vozidiel"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "The vehicles the accident involved."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/pedestriansInvolved> ;
    sh:name "pedestriansInvolved", "Účast chodce"@cs, "Fußgänger beteiligt"@de, "Pedestrian involved"@en, "Účasť chodca"@sk ;
    sh:order 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:boolean ;
    sh:maxCount 1 ;
    rdfs:comment "True when the police file names a pedestrian's cause; absent otherwise, since the file does not say whether an accident without one involved a pedestrian."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/pedestrianCause> ;
    sh:name "pedestrianCause", "Příčina chodce"@cs, "Ursache des Fußgängers"@de, "Pedestrian cause"@en, "Príčina chodca"@sk ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The pedestrian's cause the police file names, in Catalan (Creuar per fora pas de vianants)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/accidentKind> ;
    sh:name "accidentKind", "Druh nehody"@cs, "Unfallart"@de, "Accident kind"@en, "Druh nehody"@sk ;
    sh:order 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    rdfs:comment "The kinds of the accident the police file names, in Catalan as the city writes them (Col.lisió lateral, Abast, Atropellament), from accidents-tipus-gu-bcn."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/accidentType> ;
    sh:name "accidentType", "Typ nehody (kód)"@cs, "Unfalltyp (Code)"@de, "Accident type (code)"@en, "Typ nehody (kód)"@sk ;
    sh:order 11 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    rdfs:comment "The Smart Data Model codes of accidentKind where a code means the same: 1 frontal, 2 frontal-lateral, 3 side collision, 4 collision (Abast, Abast multiple, Encalç), 5 pedestrian hit, 8 impact with an obstacle (Xoc contra element estàtic); a kind with no such code has none."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/accidentCause> ;
    sh:name "accidentCause", "Příčina nehody"@cs, "Unfallursache"@de, "Accident cause"@en, "Príčina nehody"@sk ;
    sh:order 12 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    rdfs:comment "The causes the police file names, in Catalan: the mediate causes (accidents-causes-gu-bcn, Alcoholèmia), then the drivers' causes (accidents_causa_conductor_gu_bcn, Gir indegut o sense precaució)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/vehicleKind> ;
    sh:name "vehicleKind", "Druh vozidla"@cs, "Fahrzeugart"@de, "Vehicle kind"@en, "Druh vozidla"@sk ;
    sh:order 13 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    rdfs:comment "The kind of each vehicle involved, once a vehicle, in Catalan as the city writes it (Turisme, Motocicleta), from accidents-vehicles-gu-bcn; no make, model, colour or licence."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/vehiclesInvolved> ;
    sh:name "vehiclesInvolved", "Zúčastněná vozidla (kód)"@cs, "Beteiligte Fahrzeuge (Code)"@de, "Vehicles involved (code)"@en, "Zúčastnené vozidlá (kód)"@sk ;
    sh:order 14 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    rdfs:comment "The Smart Data Model code of each vehicleKind where a code means the same (1 bicycle, 3 bus, 4 minibus, 5 car, 7 tram, 11 lorry, 12 moped, 14 motorcycle, 18 van, 20 construction or maintenance vehicle); a personal mobility vehicle, an ambulance or an unreported kind has none."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/numPassengersInjured> ;
    sh:name "numPassengersInjured", "Zranění cestující"@cs, "Verletzte Fahrgäste"@de, "Passengers injured"@en, "Zranení cestujúci"@sk ;
    sh:order 15 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "The passengers injured and alive, a count from accidents-persones-gu-bcn."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/numPassengersDead> ;
    sh:name "numPassengersDead", "Mrtví cestující"@cs, "Tote Fahrgäste"@de, "Passengers dead"@en, "Mŕtvi cestujúci"@sk ;
    sh:order 16 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "The passengers dead, a count from accidents-persones-gu-bcn."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/numPedestrianInjured> ;
    sh:name "numPedestrianInjured", "Zranění chodci"@cs, "Verletzte Fußgänger"@de, "Pedestrians injured"@en, "Zranení chodci"@sk ;
    sh:order 17 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "The pedestrians injured and alive, a count from accidents-persones-gu-bcn."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/numPedestrianDead> ;
    sh:name "numPedestrianDead", "Mrtví chodci"@cs, "Tote Fußgänger"@de, "Pedestrians dead"@en, "Mŕtvi chodci"@sk ;
    sh:order 18 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "The pedestrians dead, a count from accidents-persones-gu-bcn."
  ] ;
  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 19 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://w3id.org/linkml/Any> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the station, the well, the event, the facility, the charging point or the street furniture is, as the city publishes it, field by field (Smart Data Models' common PostalAddress); a field the source leaves out is absent."
  ] ;
  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 20 ;
    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/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel dat"@cs, "Datenanbieter"@de, "Data provider"@en, "Poskytovateľ údajov"@sk ;
    sh:order 21 ;
    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 22 ;
    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 23 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .
