# 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://smartdatamodels.org/Vehicle> ;
  sh:closed false ;
  sh:property [
    sh:path <http://schema.org/name> ;
    sh:name "name", "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 city's open data portal writes it."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/vehicleType> ;
    sh:name "vehicleType", "Vehicle type"@en, "Druh vozidla"@sk ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The kind of vehicle, as the portal names it (Bus, Trolleybus)."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/lineName> ;
    sh:name "lineName", "Line"@en, "Linka"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The line the vehicle runs, its short name (3, 24)."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/direction> ;
    sh:name "direction", "Direction"@en, "Smer"@sk ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The last stop the vehicle heads for."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/nextStop> ;
    sh:name "nextStop", "Next stop"@en, "Nasledujúca zastávka"@sk ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The name of the stop the vehicle reaches next."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/delay> ;
    sh:name "delay", "Delay"@en, "Meškanie"@sk ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "Seconds behind the timetable, negative when ahead (the portal's deviation in minutes times 60, rounded)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/heading> ;
    sh:name "heading", "Heading"@en, "Smer jazdy"@sk ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "Where the vehicle points, degrees clockwise from north."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/occupancy> ;
    sh:name "occupancy", "Occupancy"@en, "Obsadenosť"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "How full the vehicle is, in percent, as the portal estimates it."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dateObserved> ;
    sh:name "dateObserved", "Observed"@en, "Čas merania"@sk ;
    sh:order 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:dateTime ;
    sh:maxCount 1 ;
    rdfs:comment "When the portal last reported the vehicle or the car park."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider", "Data provider"@en, "Poskytovateľ údajov"@sk ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Who publishes the data and the credit its licence asks for: \"Mesto Žilina, ODbL\"."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/source> ;
    sh:name "source", "Source"@en, "Zdroj"@sk ;
    sh:order 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The portal API the entity was read from."
  ] ;
  sh:property [
    sh:path <https://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 11 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .
