# 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/VehicleShape>
  a sh:NodeShape ;
  sh:targetClass <https://uri.etsi.org/ngsi-ld/default-context/Vehicle> ;
  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/vehicleType> ;
    sh:name "vehicleType", "Druh vozidla"@cs, "Fahrzeugtyp"@de, "Vehicle type"@en, "Typ vozidla"@sk ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "bicycle" "bus" "car" "other" "tram" "trolley" ) ;
    sh:maxCount 1 ;
    rdfs:comment "The Smart Data Models kind of vehicle (tram, bus, trolley, car); other for a metro train, a train, a ferry and the funicular, which transportMode names; bicycle for what a cycle counter counts."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/category> ;
    sh:name "category", "Kategorie"@cs, "Kategorie"@de, "Category"@en, "Kategória"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "public" "tracked" ) ;
    rdfs:comment "The Smart Data Models category: public and tracked for a PID vehicle in service; for an OnStreetParking what the section or bay is for (forResidents and onlyWithPermit in the blue resident zone RES, feeCharged and forResidents in the purple mixed zone MIX, feeCharged and shortTerm in the orange visitor zone VIS, forDisabled for a ZTP/P bay, with onlyWithPermit when it is reserved for one registration plate, forLoadUnload for a delivery bay and onlyWithPermit for a special reserved bay)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/transportMode> ;
    sh:name "transportMode", "Druh dopravy"@cs, "Verkehrsmittel"@de, "Transport mode"@en, "Druh dopravy"@sk ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "bus" "ferry" "funicular" "metro" "train" "tram" "trolleybus" ) ;
    sh:maxCount 1 ;
    rdfs:comment "What the line runs, as the GTFS route type names it (tram, metro, train, bus, ferry, funicular, trolleybus)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/lineName> ;
    sh:name "lineName", "Linka"@cs, "Linie"@de, "Line"@en, "Linka"@sk ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The PID line the vehicle runs, its short name (17, A, S9, 331)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/direction> ;
    sh:name "direction", "Směr"@cs, "Richtung"@de, "Direction"@en, "Smer"@sk ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Where the trip heads, its headsign (Libuš, Dolní Břežany,Zálepy)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/nextStop> ;
    sh:name "nextStop", "Další zastávka"@cs, "Nächste Haltestelle"@de, "Next stop"@en, "Nasledujúca zastávka"@sk ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The PID (GTFS) id of the stop the vehicle reaches next (U1509Z1)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/delay> ;
    sh:name "delay", "Zpoždění"@cs, "Verspätung (s)"@de, "Delay"@en, "Meškanie (s)"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "Seconds behind the timetable, negative when ahead (Golemio's delay.actual)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/speed> ;
    sh:name "speed", "Rychlost"@cs, "Geschwindigkeit"@de, "Speed"@en, "Rýchlosť"@sk ;
    sh:order 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:float ;
    sh:maxCount 1 ;
    rdfs:comment "Ground speed of the vehicle in km/h, as Smart Data Models states it; absent when the vehicle does not report one."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/heading> ;
    sh:name "heading", "Směr jízdy"@cs, "Fahrtrichtung (°)"@de, "Heading"@en, "Smer jazdy (°)"@sk ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "Where the vehicle points, degrees clockwise from north (0 to 359)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/fleetVehicleId> ;
    sh:name "fleetVehicleId", "Evidenční číslo vozu"@cs, "Wagennummer"@de, "Fleet number"@en, "Evidenčné číslo vozidla"@sk ;
    sh:order 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The operator's fleet number of the vehicle (9099); absent for the metro and trains, which report none."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/operatorName> ;
    sh:name "operatorName", "Dopravce"@cs, "Verkehrsunternehmen"@de, "Operator"@en, "Dopravca"@sk ;
    sh:order 11 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The carrier that runs the vehicle, as PID names it (DP PRAHA, ARRIVA CITY (Kladno)), or the car-sharing company that rents the car out (car4way, Anytime, Bolt)."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/wheelchairAccessible> ;
    sh:name "wheelchairAccessible", "Bezbariérový přístup"@cs, "Rollstuhlgerecht"@de, "Wheelchair accessible"@en, "Bezbariérový prístup"@sk ;
    sh:order 12 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:boolean ;
    sh:maxCount 1 ;
    rdfs:comment "Whether the publisher states the place is reachable in a wheelchair; absent when it does not say."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/dateObserved> ;
    sh:name "dateObserved", "Čas měření"@cs, "Messzeitpunkt"@de, "Observed at"@en, "Čas merania"@sk ;
    sh:order 13 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:dateTime ;
    sh:maxCount 1 ;
    rdfs:comment "When the values were observed: the start of the hour the air quality readings average, the time of a vehicle's last position report, or the end of a weather station's newest 10 minutes."
  ] ;
  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 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://uri.etsi.org/ngsi-ld/default-context/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://uri.etsi.org/ngsi-ld/location> ;
    sh:name "location" ;
    sh:order 16 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .
