# 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" ;
    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, "Vehicle type"@en ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "bus" "other" "tram" "trolley" ) ;
    sh:maxCount 1 ;
    rdfs:comment "The Smart Data Models kind of vehicle (tram, bus, trolley); other for a metro train, a train, a ferry and the funicular, which transportMode names."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/category> ;
    sh:name "category" ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "public" "tracked" ) ;
    rdfs:comment "The Smart Data Models vehicle category, public and tracked for a PID vehicle in service."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/transportMode> ;
    sh:name "transportMode", "Druh dopravy"@cs, "Transport mode"@en ;
    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, "Line"@en ;
    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, "Direction"@en ;
    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, "Next stop"@en ;
    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, "Delay"@en ;
    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, "Speed"@en ;
    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, "Heading"@en ;
    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, "Fleet number"@en ;
    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, "Operator"@en ;
    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))."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/wheelchairAccessible> ;
    sh:name "wheelchairAccessible" ;
    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" ;
    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, or the time of a vehicle's last position report."
  ] ;
  sh:property [
    sh:path <https://uri.etsi.org/ngsi-ld/default-context/dataProvider> ;
    sh:name "dataProvider" ;
    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" ;
    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."
  ] .
