# 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/AlertShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/Alert> ;
  sh:closed false ;
  sh:property [
    sh:path <http://schema.org/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."
  ] ;
  sh:property [
    sh:path <http://schema.org/description> ;
    sh:name "description" ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "A short description, per language."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/category> ;
    sh:name "category" ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The alert's domain; traffic for everything Fintraffic and HSL publish."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/subCategory> ;
    sh:name "subCategory" ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The Smart Data Models code of the alert, roadWorks for a Fintraffic road work. Left out where no code fits: a Fintraffic traffic announcement and an HSL service alert."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/alertSource> ;
    sh:name "alertSource" ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Who raised the alert, Fintraffic or HSL."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/effect> ;
    sh:name "effect" ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "What an HSL service alert does to the service, as GTFS-RT names it, such as DETOUR or REDUCED_SERVICE."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/cause> ;
    sh:name "cause" ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Why an HSL service alert is in force, as GTFS-RT names it, such as CONSTRUCTION or MAINTENANCE."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/severity> ;
    sh:name "severity" ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "How much the alert matters, informational, medium or high (GTFS-RT INFO, WARNING, SEVERE)."
  ] ;
  sh:property [
    sh:path <http://schema.org/address> ;
    sh:name "address" ;
    sh:order 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The postal address as the source publishes it, field by field (Smart Data Models' common PostalAddress); a field the source leaves out is absent, never guessed from a line of text."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dateIssued> ;
    sh:name "dateIssued" ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:dateTime ;
    sh:maxCount 1 ;
    rdfs:comment "When the situation was published."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/validFrom> ;
    sh:name "validFrom" ;
    sh:order 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:dateTime ;
    sh:maxCount 1 ;
    rdfs:comment "When the situation starts."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/validTo> ;
    sh:name "validTo" ;
    sh:order 11 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:dateTime ;
    sh:maxCount 1 ;
    rdfs:comment "When the situation ends; absent while open-ended."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/refRoute> ;
    sh:name "refRoute" ;
    sh:order 12 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://smartdatamodels.org/GtfsRoute> ;
    rdfs:comment "The lines an HSL service alert affects, each a GtfsRoute of this space."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/refStop> ;
    sh:name "refStop" ;
    sh:order 13 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://smartdatamodels.org/GtfsStop> ;
    rdfs:comment "The stops an HSL service alert affects, each a GtfsStop of this space."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/unknownReference> ;
    sh:name "unknownReference" ;
    sh:order 14 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    rdfs:comment "What an HSL service alert names that this space holds no entity for, as `route:<id>` or `stop:<id>`, kept as text rather than as a relationship that would point at nothing."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/source> ;
    sh:name "source", "Zdroj"@cs, "Quelle"@de, "Source"@en, "Lähde"@fi, "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://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 16 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .

<https://smartdatamodels.org/GtfsAgencyShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/GtfsAgency> ;
  sh:closed false ;
  sh:property [
    sh:path <https://smartdatamodels.org/agencyName> ;
    sh:name "agencyName" ;
    sh:order 0 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The transit agency's full name."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/page> ;
    sh:name "page" ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The publisher's web page about it."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/timezone> ;
    sh:name "timezone" ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The agency's time zone, an IANA name such as Europe/Helsinki."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/language> ;
    sh:name "language" ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The agency's main language, a two-letter code."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/phone> ;
    sh:name "phone" ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The agency's public customer service number."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/routes> ;
    sh:name "routes" ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://smartdatamodels.org/GtfsRoute> ;
    rdfs:comment "The lines the agency operates, computed from their operatedBy and never stored."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel"@cs, "Anbieter"@de, "Provider"@en, "Tarjoaja"@fi, "Poskytovateľ"@sk ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Who publishes the data the entity was read from, as an application credits it beside the licence (CC BY 4.0 for every feed of this space)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/source> ;
    sh:name "source", "Zdroj"@cs, "Quelle"@de, "Source"@en, "Lähde"@fi, "Zdroj"@sk ;
    sh:order 7 ;
    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://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .

<https://smartdatamodels.org/GtfsRouteShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/GtfsRoute> ;
  sh:closed false ;
  sh:property [
    sh:path <https://smartdatamodels.org/shortName> ;
    sh:name "shortName" ;
    sh:order 0 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The line number riders see, such as 4 or 550."
  ] ;
  sh:property [
    sh:path <http://schema.org/name> ;
    sh:name "name" ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The name, per language."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/routeType> ;
    sh:name "routeType" ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "GTFS's basic route type: 0 a tram, 1 the metro, 2 a train, 3 a bus, 4 a ferry. HSL's extended codes (109, 700s, 900) are written as the basic one they extend."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/transportMode> ;
    sh:name "transportMode", "Druh dopravy"@cs, "Verkehrsmittel"@de, "Transport mode"@en, "Kulkumuoto"@fi, "Druh dopravy"@sk ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "bus" "ferry" "metro" "train" "tram" ) ;
    sh:maxCount 1 ;
    rdfs:comment "What serves the stop or runs the line."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/operatedBy> ;
    sh:name "operatedBy" ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://smartdatamodels.org/GtfsAgency> ;
    sh:maxCount 1 ;
    rdfs:comment "The agency that runs the line."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/routeAlerts> ;
    sh:name "routeAlerts" ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://smartdatamodels.org/Alert> ;
    rdfs:comment "The HSL service alerts on the line, computed from their refRoute and never stored."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/page> ;
    sh:name "page" ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The publisher's web page about it."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel"@cs, "Anbieter"@de, "Provider"@en, "Tarjoaja"@fi, "Poskytovateľ"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Who publishes the data the entity was read from, as an application credits it beside the licence (CC BY 4.0 for every feed of this space)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/source> ;
    sh:name "source", "Zdroj"@cs, "Quelle"@de, "Source"@en, "Lähde"@fi, "Zdroj"@sk ;
    sh:order 8 ;
    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://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .

<https://smartdatamodels.org/GtfsShapeShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/GtfsShape> ;
  sh:closed false ;
  sh:property [
    sh:path <http://schema.org/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."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/distanceTravelled> ;
    sh:name "distanceTravelled" ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:float ;
    rdfs:comment "The distance along the shape at each point of its line, in kilometres."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel"@cs, "Anbieter"@de, "Provider"@en, "Tarjoaja"@fi, "Poskytovateľ"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Who publishes the data the entity was read from, as an application credits it beside the licence (CC BY 4.0 for every feed of this space)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/source> ;
    sh:name "source", "Zdroj"@cs, "Quelle"@de, "Source"@en, "Lähde"@fi, "Zdroj"@sk ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The open-data service the entity was read from."
  ] ;
  sh:property [
    sh:path <https://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .

<https://smartdatamodels.org/GtfsStationShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/GtfsStation> ;
  sh:closed false ;
  sh:property [
    sh:path <http://schema.org/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."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/fareZone> ;
    sh:name "fareZone" ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The HSL fare zone the stop lies in, A to D; none for a stop beyond HSL's zones."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/transportMode> ;
    sh:name "transportMode", "Druh dopravy"@cs, "Verkehrsmittel"@de, "Transport mode"@en, "Kulkumuoto"@fi, "Druh dopravy"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:in ( "bus" "ferry" "metro" "train" "tram" ) ;
    sh:maxCount 1 ;
    rdfs:comment "What serves the stop or runs the line."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/wheelChairAccessible> ;
    sh:name "wheelChairAccessible" ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Whether a wheelchair can board here, GTFS's wheelchair_boarding; 0 unknown, 1 possible, 2 not possible."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/hasStop> ;
    sh:name "hasStop" ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://smartdatamodels.org/GtfsStop> ;
    rdfs:comment "The platforms of the station, computed from their hasParentStation and never stored."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/nearbyParking> ;
    sh:name "nearbyParking" ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://smartdatamodels.org/OffStreetParking> ;
    rdfs:comment "The park and ride sites whose nearest station this is, computed from their refNearestStation and never stored."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/page> ;
    sh:name "page" ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The publisher's web page about it."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel"@cs, "Anbieter"@de, "Provider"@en, "Tarjoaja"@fi, "Poskytovateľ"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Who publishes the data the entity was read from, as an application credits it beside the licence (CC BY 4.0 for every feed of this space)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/source> ;
    sh:name "source", "Zdroj"@cs, "Quelle"@de, "Source"@en, "Lähde"@fi, "Zdroj"@sk ;
    sh:order 8 ;
    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://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .

<https://smartdatamodels.org/GtfsStopShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/GtfsStop> ;
  sh:closed false ;
  sh:property [
    sh:path <http://schema.org/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."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/stopCode> ;
    sh:name "stopCode" ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The code on the stop's sign, such as H2014; empty for a stop HSL gives none."
  ] ;
  sh:property [
    sh:path <http://schema.org/description> ;
    sh:name "description" ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "A short description, per language."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/fareZone> ;
    sh:name "fareZone" ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The HSL fare zone the stop lies in, A to D; none for a stop beyond HSL's zones."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/transportMode> ;
    sh:name "transportMode", "Druh dopravy"@cs, "Verkehrsmittel"@de, "Transport mode"@en, "Kulkumuoto"@fi, "Druh dopravy"@sk ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:in ( "bus" "ferry" "metro" "train" "tram" ) ;
    sh:maxCount 1 ;
    rdfs:comment "What serves the stop or runs the line."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/wheelChairAccessible> ;
    sh:name "wheelChairAccessible" ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Whether a wheelchair can board here, GTFS's wheelchair_boarding; 0 unknown, 1 possible, 2 not possible."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/hasParentStation> ;
    sh:name "hasParentStation" ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://smartdatamodels.org/GtfsStation> ;
    sh:maxCount 1 ;
    rdfs:comment "The station the stop or platform belongs to; absent for a stop on its own."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/departures> ;
    sh:name "departures" ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The next departures from the stop, at most five, soonest first, each an object with the line (`route`, the GtfsRoute's id, and `routeId`), its `directionId`, the `expected` time and its `status` (scheduled, skipped or canceled), and `delay` in seconds with the `scheduled` time it implies when HSL sends one. Set every 30 s for a curated set of stops from HSL's GTFS-RT trip updates; empty after five minutes without a feed."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/stopAlerts> ;
    sh:name "stopAlerts" ;
    sh:order 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://smartdatamodels.org/Alert> ;
    rdfs:comment "The HSL service alerts on the stop, computed from their refStop and never stored."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/page> ;
    sh:name "page" ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The publisher's web page about it."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel"@cs, "Anbieter"@de, "Provider"@en, "Tarjoaja"@fi, "Poskytovateľ"@sk ;
    sh:order 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Who publishes the data the entity was read from, as an application credits it beside the licence (CC BY 4.0 for every feed of this space)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/source> ;
    sh:name "source", "Zdroj"@cs, "Quelle"@de, "Source"@en, "Lähde"@fi, "Zdroj"@sk ;
    sh:order 11 ;
    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://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 12 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .

<https://smartdatamodels.org/OffStreetParkingShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/OffStreetParking> ;
  sh:closed false ;
  sh:property [
    sh:path <http://schema.org/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."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/status> ;
    sh:name "status" ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "A bike station's working while it rents and takes returns, otherwise outOfService; a park and ride site's open, closed or closedAbnormal (Fintraffic LIIPI's IN_OPERATION, INACTIVE or TEMPORARILY_CLOSED, EXCEPTIONAL_SITUATION)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/allowedVehicleType> ;
    sh:name "allowedVehicleType" ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    rdfs:comment "What may park, the site's own kind first (car or bicycle), then motorcycle where it has spaces for them."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/totalSpotNumber> ;
    sh:name "totalSpotNumber" ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "The number of vehicles the site holds, as the publisher states or estimates it; for a park and ride site, of its own kind (car or bicycle)."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/capacityByType> ;
    sh:name "capacityByType" ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The built capacity per kind of space, as LIIPI names them in lower case (car, disabled, bicycle, electricCar, motorcycle, bicycleSecureSpace), each a count."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/availableSpotNumber> ;
    sh:name "availableSpotNumber" ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "Free spaces at the park and ride site when it last reported, LIIPI's spacesAvailable."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/refNearestStation> ;
    sh:name "refNearestStation" ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:nodeKind sh:IRI ;
    sh:class <https://smartdatamodels.org/GtfsStation> ;
    sh:maxCount 1 ;
    rdfs:comment "The HSL station within 500 m of the park and ride site, the nearest one, a GtfsStation of this space."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel"@cs, "Anbieter"@de, "Provider"@en, "Tarjoaja"@fi, "Poskytovateľ"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Who publishes the data the entity was read from, as an application credits it beside the licence (CC BY 4.0 for every feed of this space)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/source> ;
    sh:name "source", "Zdroj"@cs, "Quelle"@de, "Source"@en, "Lähde"@fi, "Zdroj"@sk ;
    sh:order 8 ;
    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://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .

<https://smartdatamodels.org/PublicTransportRouteShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/PublicTransportRoute> ;
  sh:closed false ;
  sh:property [
    sh:path <http://schema.org/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."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/route> ;
    sh:name "route" ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The HSL route id the vehicle is serving, as GTFS names it (2550, 1009, 31M1, 3001K)."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/routeShortName> ;
    sh:name "routeShortName" ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The line number riders see, such as 4 or 550."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/headsign> ;
    sh:name "headsign" ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Where the line runs to in this direction, as its sign shows it."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/directionId> ;
    sh:name "directionId" ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "HSL's direction of the line, 1 or 2."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/transportMode> ;
    sh:name "transportMode", "Druh dopravy"@cs, "Verkehrsmittel"@de, "Transport mode"@en, "Kulkumuoto"@fi, "Druh dopravy"@sk ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:in ( "bus" "ferry" "metro" "train" "tram" ) ;
    sh:maxCount 1 ;
    rdfs:comment "What serves the stop or runs the line."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/transportationType> ;
    sh:name "transportationType" ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:integer ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    rdfs:comment "What runs the line as its GTFS route type (0 tram, 1 metro, 2 train, 3 bus, 4 ferry), the number the Smart Data Model requires beside the word `transportMode` gives."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/stopSequence> ;
    sh:name "stopSequence" ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    rdfs:comment "The stops the line serves in this direction, in order, each the GTFS stop id that ends the id of a GtfsStop of this space."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/dataProvider> ;
    sh:name "dataProvider", "Poskytovatel"@cs, "Anbieter"@de, "Provider"@en, "Tarjoaja"@fi, "Poskytovateľ"@sk ;
    sh:order 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "Who publishes the data the entity was read from, as an application credits it beside the licence (CC BY 4.0 for every feed of this space)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/source> ;
    sh:name "source", "Zdroj"@cs, "Quelle"@de, "Source"@en, "Lähde"@fi, "Zdroj"@sk ;
    sh:order 9 ;
    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://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .

<https://smartdatamodels.org/VehicleShape>
  a sh:NodeShape ;
  sh:targetClass <https://smartdatamodels.org/Vehicle> ;
  sh:closed false ;
  sh:property [
    sh:path <https://smartdatamodels.org/route> ;
    sh:name "route", "Linka"@cs, "Linie"@de, "Route"@en, "Linja"@fi, "Linka"@sk ;
    sh:order 0 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The HSL route id the vehicle is serving, as GTFS names it (2550, 1009, 31M1, 3001K)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/vehicleType> ;
    sh:name "vehicleType", "Typ vozidla"@cs, "Fahrzeugtyp"@de, "Vehicle type"@en, "Ajoneuvotyyppi"@fi, "Typ vozidla"@sk ;
    sh:order 1 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The Smart Data Models kind of vehicle - bus, tram, passengerVessel for a ferry, other for metro and train; transportMode names HSL's mode."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/nextStop> ;
    sh:name "nextStop", "Další zastávka"@cs, "Nächste Haltestelle"@de, "Next stop"@en, "Seuraava pysäkki"@fi, "Ďalšia zastávka"@sk ;
    sh:order 2 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The stop the vehicle stands at or comes to next, the URN of a GtfsStop of this space; HSL moves it on at each departure from or passing of a stop."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/delay> ;
    sh:name "delay", "Zpoždění"@cs, "Verspätung"@de, "Delay"@en, "Myöhästyminen"@fi, "Meškanie"@sk ;
    sh:order 3 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "Seconds behind the timetable, negative when ahead (HSL's dl with the sign turned)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/speed> ;
    sh:name "speed", "Rychlost"@cs, "Geschwindigkeit"@de, "Speed"@en, "Nopeus"@fi, "Rýchlosť"@sk ;
    sh:order 4 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:float ;
    sh:maxCount 1 ;
    rdfs:comment "Ground speed of the vehicle."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/occupancy> ;
    sh:name "occupancy", "Obsazenost"@cs, "Auslastung"@de, "Occupancy"@en, "Kuormitus"@fi, "Obsadenosť"@sk ;
    sh:order 5 ;
    sh:group <https://smartdatamodels.org/SummaryGroup> ;
    sh:datatype xsd:integer ;
    sh:maxCount 1 ;
    rdfs:comment "How full the vehicle is, in percent; HSL sends 0 (room) or 100 (full)."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/heading> ;
    sh:name "heading", "Směr"@cs, "Fahrtrichtung"@de, "Heading"@en, "Suunta"@fi, "Smer"@sk ;
    sh:order 6 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:float ;
    sh:maxCount 1 ;
    rdfs:comment "Compass heading of the vehicle, degrees clockwise from north."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/transportMode> ;
    sh:name "transportMode", "Druh dopravy"@cs, "Verkehrsmittel"@de, "Transport mode"@en, "Kulkumuoto"@fi, "Druh dopravy"@sk ;
    sh:order 7 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:in ( "bus" "ferry" "metro" "train" "tram" ) ;
    sh:maxCount 1 ;
    rdfs:comment "What serves the stop or runs the line."
  ] ;
  sh:property [
    sh:path <https://smartdatamodels.org/fleetVehicleId> ;
    sh:name "fleetVehicleId", "Číslo vozidla"@cs, "Wagennummer"@de, "Fleet number"@en, "Kalustonumero"@fi, "Číslo vozidla"@sk ;
    sh:order 8 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    rdfs:comment "The operator and vehicle number HSL publishes, operator-vehicle."
  ] ;
  sh:property [
    sh:path <https://joinedcontext.com/models/onRoute> ;
    sh:name "onRoute", "Na trase"@cs, "Auf der Strecke"@de, "On route"@en, "Reitillä"@fi, "Na trase"@sk ;
    sh:order 9 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:datatype xsd:anyURI ;
    sh:maxCount 1 ;
    rdfs:comment "The line the vehicle is running, the URN of a GtfsRoute of this space."
  ] ;
  sh:property [
    sh:path <https://purl.org/geojson/vocab#geometry> ;
    sh:name "location" ;
    sh:order 10 ;
    sh:group <https://smartdatamodels.org/DetailGroup> ;
    sh:maxCount 1 ;
    rdfs:comment "Where the entity is, as GeoJSON geometry."
  ] .
