# OWL ontology, 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 owl: <http://www.w3.org/2002/07/owl#> .

<https://hel.fi/models/helsinki/helsinki/views/ajaezssvx3bwqgejgepmq4ig3frgan4e> a owl:Ontology ;
  rdfs:label "helsinki" .

<https://smartdatamodels.org/Alert> a owl:Class ;
  rdfs:label "Alert" ;
  rdfs:comment "One road work or traffic announcement of Fintraffic in the capital region, or one service alert of HSL with the lines and stops it affects." .

<https://smartdatamodels.org/GtfsAgency> a owl:Class ;
  rdfs:label "GtfsAgency" ;
  rdfs:comment "The transit agency HSL's GTFS feed names, HSL itself." .

<https://smartdatamodels.org/GtfsRoute> a owl:Class ;
  rdfs:label "GtfsRoute" ;
  rdfs:comment "One HSL line as GTFS gives it, both directions and every variant: its number, its name, what runs it and who operates it. Its stops in order are PublicTransportRoute's." .

<https://smartdatamodels.org/GtfsShape> a owl:Class ;
  rdfs:label "GtfsShape" ;
  rdfs:comment "The line one HSL route variant draws on the map, about 200 of its points, and the distance travelled at each." .

<https://smartdatamodels.org/GtfsStation> a owl:Class ;
  rdfs:label "GtfsStation" ;
  rdfs:comment "One HSL station (GTFS location type 1), where it is and the platforms it gathers." .

<https://smartdatamodels.org/GtfsStop> a owl:Class ;
  rdfs:label "GtfsStop" ;
  rdfs:comment "One HSL stop or station platform, where it is, its sign's code and its fare zone." .

<https://smartdatamodels.org/OffStreetParking> a owl:Class ;
  rdfs:label "OffStreetParking" ;
  rdfs:comment "One park and ride site of the HSL area from Fintraffic's LIIPI register (T-3894), where it is, what it holds, whether it is open, the free spaces when it reports them, and its station." .

<https://smartdatamodels.org/PublicTransportRoute> a owl:Class ;
  rdfs:label "PublicTransportRoute" ;
  rdfs:comment "One HSL line in one direction: its number, where it runs to, its stops in order and the line through them. A line with several variants has one entity per variant. The Smart Data Model's generic public transport route (T-4329); GtfsRoute is the line without a direction." .

<https://smartdatamodels.org/Vehicle> a owl:Class ;
  rdfs:label "Vehicle" ;
  rdfs:comment "One HSL bus, tram, metro, train or ferry in service, where it is, how fast it moves and how late it runs." .

<http://schema.org/address> a owl:DatatypeProperty ;
  rdfs:label "address" ;
  rdfs:range xsd:anyURI ;
  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." .

<https://smartdatamodels.org/agencyName> a owl:DatatypeProperty ;
  rdfs:label "agencyName" ;
  rdfs:range xsd:string ;
  rdfs:comment "The transit agency's full name." .

<https://smartdatamodels.org/alertSource> a owl:DatatypeProperty ;
  rdfs:label "alertSource" ;
  rdfs:range xsd:string ;
  rdfs:comment "Who raised the alert, Fintraffic or HSL." .

<https://smartdatamodels.org/allowedVehicleType> a owl:DatatypeProperty ;
  rdfs:label "allowedVehicleType" ;
  rdfs:range xsd:string ;
  rdfs:comment "What may park, the site's own kind first (car or bicycle), then motorcycle where it has spaces for them." .

<https://smartdatamodels.org/availableSpotNumber> a owl:DatatypeProperty ;
  rdfs:label "availableSpotNumber" ;
  rdfs:range xsd:integer ;
  rdfs:comment "Free spaces at the park and ride site when it last reported, LIIPI's spacesAvailable." .

<https://joinedcontext.com/models/capacityByType> a owl:DatatypeProperty ;
  rdfs:label "capacityByType" ;
  rdfs:range xsd:string ;
  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." .

<https://smartdatamodels.org/category> a owl:DatatypeProperty ;
  rdfs:label "category" ;
  rdfs:range xsd:string ;
  rdfs:comment "The alert's domain; traffic for everything Fintraffic and HSL publish." .

<https://joinedcontext.com/models/cause> a owl:DatatypeProperty ;
  rdfs:label "cause" ;
  rdfs:range xsd:string ;
  rdfs:comment "Why an HSL service alert is in force, as GTFS-RT names it, such as CONSTRUCTION or MAINTENANCE." .

<https://smartdatamodels.org/dataProvider> a owl:DatatypeProperty ;
  rdfs:label "dataProvider" ;
  rdfs:range xsd:string ;
  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)." .

<https://smartdatamodels.org/dateIssued> a owl:DatatypeProperty ;
  rdfs:label "dateIssued" ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "When the situation was published." .

<https://joinedcontext.com/models/delay> a owl:DatatypeProperty ;
  rdfs:label "delay" ;
  rdfs:range xsd:integer ;
  rdfs:comment "Seconds behind the timetable, negative when ahead (HSL's dl with the sign turned)." .

<https://joinedcontext.com/models/departures> a owl:DatatypeProperty ;
  rdfs:label "departures" ;
  rdfs:range xsd:string ;
  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." .

<http://schema.org/description> a owl:DatatypeProperty ;
  rdfs:label "description" ;
  rdfs:range xsd:string ;
  rdfs:comment "A short description, per language." .

<https://joinedcontext.com/models/directionId> a owl:DatatypeProperty ;
  rdfs:label "directionId" ;
  rdfs:range xsd:integer ;
  rdfs:comment "HSL's direction of the line, 1 or 2." .

<https://smartdatamodels.org/distanceTravelled> a owl:DatatypeProperty ;
  rdfs:label "distanceTravelled" ;
  rdfs:range xsd:float ;
  rdfs:comment "The distance along the shape at each point of its line, in kilometres." .

<https://joinedcontext.com/models/effect> a owl:DatatypeProperty ;
  rdfs:label "effect" ;
  rdfs:range xsd:string ;
  rdfs:comment "What an HSL service alert does to the service, as GTFS-RT names it, such as DETOUR or REDUCED_SERVICE." .

<https://joinedcontext.com/models/fareZone> a owl:DatatypeProperty ;
  rdfs:label "fareZone" ;
  rdfs:range xsd:string ;
  rdfs:comment "The HSL fare zone the stop lies in, A to D; none for a stop beyond HSL's zones." .

<https://smartdatamodels.org/fleetVehicleId> a owl:DatatypeProperty ;
  rdfs:label "fleetVehicleId" ;
  rdfs:range xsd:string ;
  rdfs:comment "The operator and vehicle number HSL publishes, operator-vehicle." .

<https://smartdatamodels.org/hasParentStation> a owl:ObjectProperty ;
  rdfs:label "hasParentStation" ;
  rdfs:range <https://smartdatamodels.org/GtfsStation> ;
  owl:inverseOf <https://smartdatamodels.org/hasStop> ;
  rdfs:comment "The station the stop or platform belongs to; absent for a stop on its own." .

<https://smartdatamodels.org/hasStop> a owl:ObjectProperty ;
  rdfs:label "hasStop" ;
  rdfs:range <https://smartdatamodels.org/GtfsStop> ;
  owl:inverseOf <https://smartdatamodels.org/hasParentStation> ;
  rdfs:comment "The platforms of the station, computed from their hasParentStation and never stored." .

<https://smartdatamodels.org/heading> a owl:DatatypeProperty ;
  rdfs:label "heading" ;
  rdfs:range xsd:float ;
  rdfs:comment "Compass heading of the vehicle, degrees clockwise from north." .

<https://joinedcontext.com/models/headsign> a owl:DatatypeProperty ;
  rdfs:label "headsign" ;
  rdfs:range xsd:string ;
  rdfs:comment "Where the line runs to in this direction, as its sign shows it." .

<https://smartdatamodels.org/language> a owl:DatatypeProperty ;
  rdfs:label "language" ;
  rdfs:range xsd:string ;
  rdfs:comment "The agency's main language, a two-letter code." .

<https://purl.org/geojson/vocab#geometry> a owl:DatatypeProperty ;
  rdfs:label "location" ;
  rdfs:range xsd:string ;
  rdfs:comment "Where the entity is, as GeoJSON geometry." .

<http://schema.org/name> a owl:DatatypeProperty ;
  rdfs:label "name" ;
  rdfs:range xsd:string ;
  rdfs:comment "The name, per language." .

<https://joinedcontext.com/models/nearbyParking> a owl:ObjectProperty ;
  rdfs:label "nearbyParking" ;
  rdfs:range <https://smartdatamodels.org/OffStreetParking> ;
  owl:inverseOf <https://joinedcontext.com/models/refNearestStation> ;
  rdfs:comment "The park and ride sites whose nearest station this is, computed from their refNearestStation and never stored." .

<https://joinedcontext.com/models/nextStop> a owl:DatatypeProperty ;
  rdfs:label "nextStop" ;
  rdfs:range xsd:anyURI ;
  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." .

<https://joinedcontext.com/models/occupancy> a owl:DatatypeProperty ;
  rdfs:label "occupancy" ;
  rdfs:range xsd:integer ;
  rdfs:comment "How full the vehicle is, in percent; HSL sends 0 (room) or 100 (full)." .

<https://joinedcontext.com/models/onRoute> a owl:DatatypeProperty ;
  rdfs:label "onRoute" ;
  rdfs:range xsd:anyURI ;
  rdfs:comment "The line the vehicle is running, the URN of a GtfsRoute of this space." .

<https://smartdatamodels.org/operatedBy> a owl:ObjectProperty ;
  rdfs:label "operatedBy" ;
  rdfs:range <https://smartdatamodels.org/GtfsAgency> ;
  owl:inverseOf <https://joinedcontext.com/models/routes> ;
  rdfs:comment "The agency that runs the line." .

<https://smartdatamodels.org/page> a owl:DatatypeProperty ;
  rdfs:label "page" ;
  rdfs:range xsd:anyURI ;
  rdfs:comment "The publisher's web page about it." .

<https://smartdatamodels.org/phone> a owl:DatatypeProperty ;
  rdfs:label "phone" ;
  rdfs:range xsd:string ;
  rdfs:comment "The agency's public customer service number." .

<https://joinedcontext.com/models/refNearestStation> a owl:ObjectProperty ;
  rdfs:label "refNearestStation" ;
  rdfs:range <https://smartdatamodels.org/GtfsStation> ;
  owl:inverseOf <https://joinedcontext.com/models/nearbyParking> ;
  rdfs:comment "The HSL station within 500 m of the park and ride site, the nearest one, a GtfsStation of this space." .

<https://joinedcontext.com/models/refRoute> a owl:ObjectProperty ;
  rdfs:label "refRoute" ;
  rdfs:range <https://smartdatamodels.org/GtfsRoute> ;
  owl:inverseOf <https://joinedcontext.com/models/routeAlerts> ;
  rdfs:comment "The lines an HSL service alert affects, each a GtfsRoute of this space." .

<https://joinedcontext.com/models/refStop> a owl:ObjectProperty ;
  rdfs:label "refStop" ;
  rdfs:range <https://smartdatamodels.org/GtfsStop> ;
  owl:inverseOf <https://joinedcontext.com/models/stopAlerts> ;
  rdfs:comment "The stops an HSL service alert affects, each a GtfsStop of this space." .

<https://smartdatamodels.org/route> a owl:DatatypeProperty ;
  rdfs:label "route" ;
  rdfs:range xsd:string ;
  rdfs:comment "The HSL route id the vehicle is serving, as GTFS names it (2550, 1009, 31M1, 3001K)." .

<https://joinedcontext.com/models/routeAlerts> a owl:ObjectProperty ;
  rdfs:label "routeAlerts" ;
  rdfs:range <https://smartdatamodels.org/Alert> ;
  owl:inverseOf <https://joinedcontext.com/models/refRoute> ;
  rdfs:comment "The HSL service alerts on the line, computed from their refRoute and never stored." .

<https://joinedcontext.com/models/routeShortName> a owl:DatatypeProperty ;
  rdfs:label "routeShortName" ;
  rdfs:range xsd:string ;
  rdfs:comment "The line number riders see, such as 4 or 550." .

<https://smartdatamodels.org/routeType> a owl:DatatypeProperty ;
  rdfs:label "routeType" ;
  rdfs:range xsd:string ;
  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." .

<https://joinedcontext.com/models/routes> a owl:ObjectProperty ;
  rdfs:label "routes" ;
  rdfs:range <https://smartdatamodels.org/GtfsRoute> ;
  owl:inverseOf <https://smartdatamodels.org/operatedBy> ;
  rdfs:comment "The lines the agency operates, computed from their operatedBy and never stored." .

<https://smartdatamodels.org/severity> a owl:DatatypeProperty ;
  rdfs:label "severity" ;
  rdfs:range xsd:string ;
  rdfs:comment "How much the alert matters, informational, medium or high (GTFS-RT INFO, WARNING, SEVERE)." .

<https://smartdatamodels.org/shortName> a owl:DatatypeProperty ;
  rdfs:label "shortName" ;
  rdfs:range xsd:string ;
  rdfs:comment "The line number riders see, such as 4 or 550." .

<https://smartdatamodels.org/source> a owl:DatatypeProperty ;
  rdfs:label "source" ;
  rdfs:range xsd:anyURI ;
  rdfs:comment "The open-data service the entity was read from." .

<https://smartdatamodels.org/speed> a owl:DatatypeProperty ;
  rdfs:label "speed" ;
  rdfs:range xsd:float ;
  rdfs:comment "Ground speed of the vehicle." .

<https://smartdatamodels.org/status> a owl:DatatypeProperty ;
  rdfs:label "status" ;
  rdfs:range xsd:string ;
  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)." .

<https://joinedcontext.com/models/stopAlerts> a owl:ObjectProperty ;
  rdfs:label "stopAlerts" ;
  rdfs:range <https://smartdatamodels.org/Alert> ;
  owl:inverseOf <https://joinedcontext.com/models/refStop> ;
  rdfs:comment "The HSL service alerts on the stop, computed from their refStop and never stored." .

<https://joinedcontext.com/models/stopCode> a owl:DatatypeProperty ;
  rdfs:label "stopCode" ;
  rdfs:range xsd:string ;
  rdfs:comment "The code on the stop's sign, such as H2014; empty for a stop HSL gives none." .

<https://joinedcontext.com/models/stopSequence> a owl:DatatypeProperty ;
  rdfs:label "stopSequence" ;
  rdfs:range 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." .

<https://smartdatamodels.org/subCategory> a owl:DatatypeProperty ;
  rdfs:label "subCategory" ;
  rdfs:range xsd:string ;
  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." .

<https://smartdatamodels.org/timezone> a owl:DatatypeProperty ;
  rdfs:label "timezone" ;
  rdfs:range xsd:string ;
  rdfs:comment "The agency's time zone, an IANA name such as Europe/Helsinki." .

<https://smartdatamodels.org/totalSpotNumber> a owl:DatatypeProperty ;
  rdfs:label "totalSpotNumber" ;
  rdfs:range xsd:integer ;
  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)." .

<https://joinedcontext.com/models/transportMode> a owl:DatatypeProperty ;
  rdfs:label "transportMode" ;
  rdfs:range xsd:string ;
  rdfs:comment "What serves the stop or runs the line." .

<https://smartdatamodels.org/transportationType> a owl:DatatypeProperty ;
  rdfs:label "transportationType" ;
  rdfs:range xsd:integer ;
  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." .

<https://joinedcontext.com/models/unknownReference> a owl:DatatypeProperty ;
  rdfs:label "unknownReference" ;
  rdfs:range 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." .

<https://smartdatamodels.org/validFrom> a owl:DatatypeProperty ;
  rdfs:label "validFrom" ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "When the situation starts." .

<https://smartdatamodels.org/validTo> a owl:DatatypeProperty ;
  rdfs:label "validTo" ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "When the situation ends; absent while open-ended." .

<https://smartdatamodels.org/vehicleType> a owl:DatatypeProperty ;
  rdfs:label "vehicleType" ;
  rdfs:range xsd:string ;
  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." .

<https://smartdatamodels.org/wheelChairAccessible> a owl:DatatypeProperty ;
  rdfs:label "wheelChairAccessible" ;
  rdfs:range xsd:string ;
  rdfs:comment "Whether a wheelchair can board here, GTFS's wheelchair_boarding; 0 unknown, 1 possible, 2 not possible." .
