Download presentation
Presentation is loading. Please wait.
1
Bus Routes
2
Consider an RDF document that contains information about bus companies and bus routes. A prefix named bus: identifies a given namespace ( The data uses the following classes in the given namespace: BusCompany represents bus companies; a bus company owns buses and operates bus routes. BusStop represents bus stops along a bus route. A bus stop is a designated place where buses stop for passengers to board or leave a bus. BusStation represents bus stations, which can be origin or target of bus routes. A bus station is a special kind of bus stop. BusRoute represents bus routes. A route has an origin bus station (start bus station) and a target bus station (end bus station). We assume bus routes have unique labels (i.e., names). We also assume that routes are “one way routes”, e.g., if one route starts in Grimstad and ends in Oslo, a route going from Oslo to Grimstad must have another label (i.e., it is a different route).
3
The following properties are also used: rdfs:label links buss stations, bus stops, bus routes, etc., to their names bus:isOperatedBy links bus route to the bus company that operates it. bus:hasStartBusStation links a bus route to the bus station where the route starts. bus:hasEndBusStation links a bus route to the bus station where the route ends.
4
@prefix bus: <http://www. uia. no/ikt437/bus#>
@prefix bus: < owl: < rdf: < xml: < xsd: < rdfs: < . # Object Properties bus:hasEndBusStation rdf:type owl:ObjectProperty . bus:isOperatedBy rdf:type owl:ObjectProperty ; rdfs:domain bus:BusRoute; rdfs:range bus:BusCompany. bus:hasStartBusStation rdf:type owl:ObjectProperty . bus:hasStopAtBusStop rdf:type owl:ObjectProperty . # Classes bus:BusCompany rdf:type owl:Class . bus:BusRoute rdf:type owl:Class . bus:BusStation rdf:type owl:Class ; rdfs:subClassOf bus:BusStop . bus:BusStop rdf:type owl:Class . # Individuals bus:AgderExpressen rdf:type bus:BusCompany , owl:NamedIndividual ; rdfs:label "Agder Expressen"^^xsd:string . bus:ArendalBusStation rdf:type bus:BusStation , rdfs:label "Arendal Bus Station"^^xsd:string . bus:FevikBusStop rdf:type bus:BusStop , rdfs:label "Fevik Bus Stop"^^xsd:string . bus:GrimstadBusStop rdf:type bus:BusStop , rdfs:label "Grimstad Bus Stop"^^xsd:string . bus:KristiansandBusStation rdf:type bus:BusStation , rdfs:label "Kristiansand Bus Station"^^xsd:string . bus:Route_191_Skien_Kristiansand rdf:type bus:BusRoute , owl:NamedIndividual ; rdfs:label "Route 191 Skien Kristiansand"^^xsd:string ; bus:hasStopAtBusStop bus:FevikBusStop , bus:GrimstadBusStop ; bus:hasEndBusStation bus:KristiansandBusStation ; bus:hasStartBusStation bus:SkienBusStation ; bus:isOperatedBy bus:TelemarkExpressen . bus:Route_1_Kristiansand_Arendal rdf:type bus:BusRoute , owl:NamedIndividual ; rdfs:label "Route 1 Kristiansand Arendal"^^xsd:string ; bus:isOperatedBy bus:AgderExpressen ; bus:hasEndBusStation bus:ArendalBusStation ; bus:hasStopAtBusStop bus:FevikBusStop , bus:hasStartBusStation bus:KristiansandBusStation . bus:Route_2_Arendal_Kristiansand rdf:type bus:BusRoute , rdfs:label "Route 2 Arendal Kristiansand"^^xsd:string ; bus:isOperatedBy bus:AgderExpressen ; bus:hasStartBusStation bus:ArendalBusStation ; bus:hasStopAtBusStop bus:GrimstadBusStop ; bus:hasEndBusStation bus:KristiansandBusStation . bus:SkienBusStation rdf:type bus:BusStation , rdfs:label "Skien Bus Station"^^xsd:string . bus:TelemarkExpressen rdf:type bus:BusCompany , owl:NamedIndividual ; rdfs:label "Telemark Expressen"^^xsd:string . Attachment
5
Given Ontology Classes and Properties
bus:hasEndBusStation rdf:type owl:ObjectProperty . bus:isOperatedBy rdf:type owl:ObjectProperty ; rdfs:domain bus:BusRoute; rdfs:range bus:BusCompany. bus:hasStartBusStation rdf:type owl:ObjectProperty . bus:hasStopAtBusStop rdf:type owl:ObjectProperty . Given Ontology Classes and Properties bus:BusCompany rdf:type owl:Class . bus:BusRoute rdf:type owl:Class . bus:BusStation rdf:type owl:Class ; rdfs:subClassOf bus:BusStop . bus:BusStop rdf:type owl:Class . owl:ObjectProperty type type type type isOperatedBy hasEndBusStation hasStartBusStation hasStopAtBusStop domain range subClassOf BusStation BusStop BusRoute BusCompany
6
Given Ontology Individuals
type GrimstadBusStop label=“Grimstad Bus Stop" BusStop Given Ontology Individuals type FevikBusStop label=“Fevik Bus stop" ArendalBusStation label="Arendal Bus Station" AgderExpressen label="Agder Expressen" type type SkienBusStation label=“Skien Bus Station" type BusStation BusCompany type type KristiansandBusStation label=“Kristiansand Bus Station" TelemarkExpressen label=“Telemark Expressen"
7
Route_1_Kristiansand_Arendal label= "Route 1 Kristiansand Arendal"
bus:Route_1_Kristiansand_Arendal rdf:type bus:BusRoute , owl:NamedIndividual ; rdfs:label "Route 1 Kristiansand Arendal"^^xsd:string ; bus:isOperatedBy bus:AgderExpressen ; bus:hasEndBusStation bus:ArendalBusStation ; bus:hasStopAtBusStop bus:FevikBusStop , bus:GrimstadBusStop ; bus:hasStartBusStation bus:KristiansandBusStation . KristiansandBusStation GrimstadBusStop FevikBusStop ArendalBusStation hasStopAtBusStop hasStopAtBusStop hasStartBusStation hasEndBusStation Route_1_Kristiansand_Arendal label= "Route 1 Kristiansand Arendal" isOperatedBy type BusRoute AgderExpressen
8
Route_2_Arendal_Kristiansand label= "Route 2 Arendal Kristiansand"
bus:Route_2_Arendal_Kristiansand rdf:type bus:BusRoute , owl:NamedIndividual ; rdfs:label "Route 2 Arendal Kristiansand"^^xsd:string ; bus:isOperatedBy bus:AgderExpressen ; bus:hasStartBusStation bus:ArendalBusStation ; bus:hasStopAtBusStop bus:GrimstadBusStop ; bus:hasEndBusStation bus:KristiansandBusStation . ArendalBusStation GrimstadBusStop KristiansandBusStation hasStopAtBusStop hasEndBusStation hasStartBusStation Route_2_Arendal_Kristiansand label= "Route 2 Arendal Kristiansand" isOperatedBy type BusRoute AgderExpressen
9
b) Make and try a SPARQL query that lists all the bus routes (i. e
b) Make and try a SPARQL query that lists all the bus routes (i.e., list the rdfs:labels of the bus routes) together with the bus company that operates it.
10
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
b) Make and try a SPARQL query that lists all the bus routes (i.e., list the rdfs:labels of the bus routes) together with the bus company that operates it. PREFIX rdf: < PREFIX owl: < PREFIX rdfs: < PREFIX xsd: < PREFIX bus: < SELECT ?busCompany ?busRoute WHERE { ?busRoute bus:isOperatedBy ?busCompany. ?busRoute a bus:BusRoute } ?busRoute type isOperatedBy BusRoute ?busCompany
11
c) Make a SPARQL query that lists all bus stops (i. e
c) Make a SPARQL query that lists all bus stops (i.e., list the rdfs:labels of the bus stops); avoid duplicates. Do not list bus stations.
12
c) Make a SPARQL query that lists all bus stops (i. e
c) Make a SPARQL query that lists all bus stops (i.e., list the rdfs:labels of the bus stops); avoid duplicates. Do not list bus stations. PREFIX rdf: < PREFIX owl: < PREFIX rdfs: < PREFIX xsd: < PREFIX bus: < SELECT DISTINCT ?busStopLabel WHERE { ?busStop a bus:BusStop ; rdfs:label ?busStopLabel . }
13
d) Make a SPARQL query that lists all bus stops (i. e
d) Make a SPARQL query that lists all bus stops (i.e., list the rdfs:labels of the bus stops) of the bus routes (i.e., a bus stop must be a stop on a bus route). List in alphabetic order and avoid duplicates. All bus stops should be listed except the one with rdfs:label "Fevik Bus Stop"^^xsd:string. Do not list bus stations.
14
d) Make a SPARQL query that lists all bus stops (i. e
d) Make a SPARQL query that lists all bus stops (i.e., list the rdfs:labels of the bus stops) of the bus routes (i.e., a bus stop must be a stop on a bus route). List in alphabetic order and avoid duplicates. All bus stops should be listed except the one with rdfs:label "Fevik Bus Stop"^^xsd:string. Do not list bus stations. PREFIX rdf: < PREFIX owl: < PREFIX rdfs: < PREFIX xsd: < PREFIX bus: < SELECT DISTINCT ?busStopLabel WHERE { ?busStop a bus:BusStop ; rdfs:label ?busStopLabel . ?busRoute a bus:BusRoute; bus:hasStopAtBusStop ?busStop . FILTER (?busStopLabel != "Fevik Bus Stop"^^xsd:string) } ORDER BY (?busStopLabel)
15
e) Make a SPARQL query that lists all the bus stops of bus route "Route 1 Kristiansand Arendal"^^xsd:string (this is the identifying label of the bus route) together with the bus company that operates it. The start and end bus stations should not be listed.
16
e) Make a SPARQL query that lists all the bus stops of bus route "Route 1 Kristiansand Arendal"^^xsd:string (this is the identifying label of the bus route) together with the bus company that operates it. The start and end bus stations should not be listed. PREFIX rdf: < PREFIX owl: < PREFIX rdfs: < PREFIX xsd: < PREFIX bus: < SELECT ?busStop ?busCompany WHERE { ?busRoute rdfs:label "Route 1 Kristiansand Arendal"^^xsd:string . ?busRoute bus:hasStopAtBusStop ?busStop . ?busRoute bus:isOperatedBy ?busCompany . }
17
f) Make a SPARQL query that lists all the bus stops of bus route "Route 1 Kristiansand Arendal"^^xsd:string (this is the identifying label of the bus route) together with the bus company that operates it. List also start and end bus stations. “SPARQL provides a means of combining graph patterns so that one of several alternative graph patterns may match. If more than one of the alternatives matches, all the possible pattern solutions are found. Pattern alternatives are syntactically specified with the UNION keyword.”[1] Use the UNION construct when solving this task.
18
f) Make a SPARQL query that lists all the bus stops of bus route "Route 1 Kristiansand Arendal"^^xsd:string (this is the identifying label of the bus route) together with the bus company that operates it. List also start and end bus stations. PREFIX rdf: < PREFIX owl: < PREFIX rdfs: < PREFIX xsd: < PREFIX bus: < SELECT ?busStop ?busCompany WHERE { ?busRoute rdfs:label "Route 1 Kristiansand Arendal"^^xsd:string . ?busRoute bus:isOperatedBy ?busCompany . { ?busRoute bus:hasStopAtBusStop ?busStop } UNION { ?busRoute bus:hasStartBusStation ?busStop } { ?busRoute bus:hasEndBusStation ?busStop } }
19
g) You are to achieve the same as in the point above (… lists all the bus stops of bus route "Route 1 Kristiansand Arendal" …), but this time don’t use UNION but use arbitrary length path matching. “Connectivity between the subject and object by a property path of arbitrary length can be found using the "zero or more" property path operator, *, and the "one or more" property path operator, +.”[1] Hint: You need to add two rdfs:subPropertyOf to your ontology and then you use the * operator in your SPARQL statement.
20
Make a SPARQL query that lists all the bus stops of bus route "Route 1 Kristiansand Arendal"^^xsd:string together with the bus company that operates it. List also start and end bus stations. PREFIX rdf: < PREFIX owl: < PREFIX rdfs: < PREFIX xsd: < PREFIX bus: < SELECT ?busStop ?busCompany WHERE { ?busRoute rdfs:label "Route 1 Kristiansand Arendal"^^xsd:string . ?busRoute bus:isOperatedBy ?busCompany . ?property rdfs:subPropertyOf * bus:hasStopAtBusStop . ?busRoute ?property ?busStop }
21
Choose route to be Route 1 Kristiansand Arendal and find the operating bus company.
WHERE { ?busRoute rdfs:label "Route 1 Kristiansand Arendal"^^xsd:string . ?busRoute bus:isOperatedBy ?busCompany . ?property rdfs:subPropertyOf * bus:hasStopAtBusStop . ?busRoute ?property ?busStop
22
Route_1_Kristiansand_Arendal label= "Route 1 Kristiansand Arendal"
Only Route_1_Kristiansand_Arendal has “Route 1 Kristiansand Arendal” as label. WHERE { ?busRoute rdfs:label "Route 1 Kristiansand Arendal"^^xsd:string . ?busRoute bus:isOperatedBy ?busCompany . ?property rdfs:subPropertyOf * bus:hasStopAtBusStop . ?busRoute ?property ?busStop }
23
Route_1_Kristiansand_Arendal label= "Route 1 Kristiansand Arendal"
isOperatedBy type BusRoute AgderExpressen Only one match for ?busRoute and ?busCompany together WHERE {Route_1_Kristiansand_Arendal rdfs:label "Route 1 Kristiansand Arendal"^^xsd:string . Route_1_Kristiansand_Arendal bus:isOperatedBy AgderExpressen . ?property rdfs:subPropertyOf * bus:hasStopAtBusStop . Route_1_Kristiansand_Arendal ?property ?busStop }
24
owl:ObjectProperty type type type owl:ObjectProperty hasEndBusStation hasStartBusStation hasStopAtBusStop type type type hasStopAtBusStop subPropertyOf subPropertyOf hasEndBusStation hasStartBusStation WHERE { ... ?property rdfs:subPropertyOf * bus:hasStopAtBusStop . Route_1_Kristiansand_Arendal ?property ?busStop
25
“rdfs:subPropertyOf * bus:hasStopAtBusStop” has 3 matches
owl:ObjectProperty type type type hasStopAtBusStop subPropertyOf subPropertyOf hasEndBusStation hasStartBusStation “rdfs:subPropertyOf * bus:hasStopAtBusStop” has 3 matches ?property will be bound to properties (one at a time): hasStopAtBusStop, hasEndBusStation and hasStartBusStation WHERE { ... ?property rdfs:subPropertyOf * bus:hasStopAtBusStop . Route_1_Kristiansand_Arendal ?property ?busStop
26
Route_1_Kristiansand_Arendal label= "Route 1 Kristiansand Arendal"
KristiansandBusStation GrimstadBusStop FevikBusStop ArendalBusStation hasStopAtBusStop hasStopAtBusStop hasStartBusStation hasEndBusStation Route_1_Kristiansand_Arendal label= "Route 1 Kristiansand Arendal" ?property can be hasStopAtBusStop, hasEndBusStation and hasStartBusStation ?busStop will then match: KristiansandBusStation, GrimstadBusStop, FevikBusStop, ArendalBusStation WHERE { ... ?property rdfs:subPropertyOf * bus:hasStopAtBusStop . Route_1_Kristiansand_Arendal ?property ?busStop
27
h) One and the same bus route can have several departures the same day; the number of departures and the departure times may vary from weekday to weekday. We simplify: We ignore public holidays, etc.; this means that there are only seven alternatives (one for each day of the week) for the daily scheduling of a bus route. We ignore rush hours. i.e., the time from one bus stop until the next is always the same. We handle time by just counting minutes since midnight. E.g., time 62 is two minutes past one in the night. (A bus route always stops on the same stops.) The stored information can be used to: Calculate the total time a route takes from start to end bus station. Calculate the total time a route takes from a selected bus stop on a route to another bus stop at the same route. Show the time schedule for a route (i.e., time from stop to stop of a route) given a start time. Use OWL and model the information needed (this should be an extension of the ontology shown in the Attachment). Insert an example of one or more routes. Make SPARQL statements that give the information stated in point 1, 2 and 3 above.
28
First: Use OWL and model the information needed (this should be an extension of the ontology shown in the Attachment). Insert an example of one or more routes.
29
Route_1_Kristiansand_Arendal label= "Route 1 Kristiansand Arendal"
KristiansandBusStation GrimstadBusStop FevikBusStop ArendalBusStation hasStopAtBusStop hasEndBusStation hasStopAtBusStop hasStartBusStation Route_1_Kristiansand_Arendal label= "Route 1 Kristiansand Arendal" isOperatedBy AgderExpressen type hasRouteDay hasRouteDay BusRoute route1DayMonday hasOnWeekDay = “Monday“ hasDepatureTime=345 hasDepatureTime=405 hasDepatureTime=465 route1DaySunday hasOnWeekDay = “Sunday“ hasDepatureTime=600 hasDepatureTime=720 New type type RouteDay
30
Route_1_Kristiansand_Arendal label= "Route 1 Kristiansand Arendal"
KristiansandBusStation GrimstadBusStop FevikBusStop ArendalBusStation hasStopAtBusStop hasStopAtBusStop hasStartBusStation hasEndBusStation Route_1_Kristiansand_Arendal label= "Route 1 Kristiansand Arendal" isOperatedBy hasStopTime- Intervals type intervalsRoute1 BusRoute AgderExpressen type New StopTimeIntervals
31
KristiansandBusStation
GrimstadBusStop FevikBusStop ArendalBusStation hasStopAt- BusStop hasStopAt- BusStop hasStopAt- BusStop hasStopAt- BusStop hasNextBusRouteStop hasNextBusRouteStop hasNextBusRouteStop route1Stop1 hasRouteStopNumber=0 hasTimeFromStart=0 route1Stop2 hasRouteStopNumber=1 hasTimeFromStart=60 route1Stop3 hasRouteStopNumber=2 hasTimeFromStart=74 route1Stop4 hasRouteStopNumber=3 hasTimeFromStart=104 type type type type hasFirstBusRouteStop BusRouteStop intervalsRoute1 New Old class BusStop is about location; a place where the bus may stop. The new class BusRouteStop is a stop on a route.
32
1. Calculate the total time a route takes from start to end bus station.
Strategy find last stop (the one that has no :hasNextBusRouteStop property) and show its value of :hasTimeFromStart. We select route: Route_1_Kristiansand_Arendal
33
PREFIX : <http://www. uia
PREFIX : < PREFIX rdf: < PREFIX owl: < PREFIX rdfs: < PREFIX xsd: < SELECT ?time WHERE { :Route_1_Kristiansand_Arendal :hasStopTimeIntervals ?stopTimeIntervals . ?stopTimeIntervals :hasFirstBusRouteStop ?firstRouteStop . ?firstRouteStop :hasNextBusRouteStop* ?stop . ?stop :hasTimeFromStart ?time . Minus { ?stop :hasNextBusRouteStop ?dummy . } }
34
2. Calculate the total time a route takes from a selected bus stop on a route to another bus stop on the same route. We select route: Route_1_Kristiansand_Arendal Get time from stop 1 (Grimstad) until 2 (Fevik)
35
PREFIX : <http://www. uia
PREFIX : < PREFIX rdf: < PREFIX owl: < PREFIX rdfs: < PREFIX xsd: < SELECT ((MAX(?time) - MIN(?time)) AS ?timeDiff) WHERE { :Route_1_Kristiansand_Arendal :hasStopTimeIntervals ?stopTimeIntervals . ?stopTimeIntervals :hasFirstBusRouteStop ?firstRouteStop . ?firstRouteStop :hasNextBusRouteStop* ?stop . ?stop :hasTimeFromStart ?time . ?stop :hasRouteStopNumber ?stopNumber . FILTER (?stopNumber = 1 || ?stopNumber = 2 ) }
36
Solution if interval times are stored (i. e
Solution if interval times are stored (i.e., property hasTimeToNextStop is used) instead of hasTimeFromStart . Selecting :Route_1_Kristiansand_Arendal and time from stop 2 to 4: PREFIX : < PREFIX rdf: < PREFIX owl: < PREFIX rdfs: < PREFIX xsd: < SELECT (SUM (?time) AS ?total) WHERE { :Route_1_Kristiansand_Arendal :hasStopTimeIntervals ?stopTimeIntervals . ?stopTimeIntervals :hasFirstBusRouteStop ?firstRouteStop . ?firstRouteStop :hasNextBusRouteStop* ?stop . ?stop :hasTimeToNextStop ?time . ?stop :hasRouteStopNumber ?stopNumber . FILTER (?stopNumber >= 1 ) FILTER (?stopNumber <= 3 ) }
37
3. Show the time schedule for a route (i. e
3. Show the time schedule for a route (i.e., time from stop to stop of a route) given a start time. Selecting: Route_1_Kristiansand_Arendal, route on Monday and departure 405. Assuming start time is the same as a specific departure time for this route on this day (in my ontology 405 is such a time).
38
PREFIX : <http://www. uia
PREFIX : < PREFIX rdf: < PREFIX owl: < PREFIX rdfs: < PREFIX xsd: < SELECT ?stopTime ?routeStopLabel WHERE { BIND (:Route_1_Kristiansand_Arendal as ?input_route) BIND ("Monday"^^xsd:string as ?input_dayOfWeek) BIND ("405"^^xsd:int as ?input_startTimeForSchedule) ?input_route :hasRouteDay ?routeDay . ?routeDay :hasOnWeekDay ?input_dayOfWeek . ?routeDay :hasDepatureTime ?input_startTimeForSchedule . ?input_route :hasStopTimeIntervals ?stopTimeIntervals . ?stopTimeIntervals :hasFirstBusRouteStop ?firstRouteStop . ?firstRouteStop :hasNextBusRouteStop* ?stop . ?stop :hasTimeFromStart ?time . ?stop :hasStopAtBusStop ?busStop . ?busStop rdfs:label ?routeStopLabel . BIND ((?input_startTimeForSchedule+?time) as ?stopTime) } ORDER BY ?stopTime The use of BIND is only to indicate that :Route_1_Kristiansand_Arendal, "Monday“ and "405“ are input values.
39
New Ontology: @prefix : < owl: < rdf: < xml: < xsd: < rdfs: < < . < rdf:type owl:Ontology .
40
Object Properties :hasEndBusStation rdf:type owl:ObjectProperty ; rdfs:subPropertyOf :hasStopAtBusStop . :hasFirstBusRouteStop rdf:type owl:ObjectProperty ; rdfs:subPropertyOf owl:topObjectProperty . :hasNextBusRouteStop rdf:type owl:ObjectProperty ; rdfs:domain :BusRouteStop ; rdfs:range :BusRouteStop . :hasRouteDay rdf:type owl:ObjectProperty . :hasStartBusStation rdf:type owl:ObjectProperty ; rdfs:subPropertyOf :hasStopAtBusStop . :hasStopAtBusStop rdf:type owl:ObjectProperty . :hasStopTimeIntervals rdf:type owl:ObjectProperty . :isLocatedAtBusStop rdf:type owl:ObjectProperty ; rdfs:range :BusStop . :isOperatedBy rdf:type owl:ObjectProperty ; rdfs:domain :BusRoute ; rdfs:range :BusCompany .
41
# Data properties ################################################################# ### :hasDepatureTime rdf:type owl:DatatypeProperty ; rdfs:range xsd:int . ### :hasOnWeekDay rdf:type owl:DatatypeProperty ; rdfs:range xsd:string . ### :hasRouteStopNumber rdf:type owl:DatatypeProperty ; ### :hasTimeFromStart rdf:type owl:DatatypeProperty ; rdfs:range xsd:integer .
42
# Classes ### http://www. uia
# Classes ### :BusCompany rdf:type owl:Class . ### :BusRoute rdf:type owl:Class . ### :BusRouteStop rdf:type owl:Class . ### :BusStation rdf:type owl:Class ; rdfs:subClassOf :BusStop . ### :BusStop rdf:type owl:Class . ### :RouteDay rdf:type owl:Class . ### :StopTimeIntervals rdf:type owl:Class .
43
# Individuals ################################################################# ### :AgderExpressen rdf:type owl:NamedIndividual , :BusCompany ; rdfs:label "Agder Expressen"^^xsd:string . ### :ArendalBusStation rdf:type owl:NamedIndividual , :BusStation ; rdfs:label "Arendal Bus Station"^^xsd:string . ### :FevikBusStop rdf:type owl:NamedIndividual , :BusStop ; rdfs:label "Fevik Bus Stop"^^xsd:string . ### :GrimstadBusStop rdf:type owl:NamedIndividual , rdfs:label "Grimstad Bus Stop"^^xsd:string . ### :KristiansandBusStation rdf:type owl:NamedIndividual , rdfs:label "Kristiansand Bus Station"^^xsd:string . ### :Route_191_Skien_Kristiansand rdf:type owl:NamedIndividual , :BusRoute ; :hasEndBusStation :KristiansandBusStation ; :hasStartBusStation :SkienBusStation ; :hasStopAtBusStop :FevikBusStop , :GrimstadBusStop ; :isOperatedBy :TelemarkExpressen ; rdfs:label "Route 191 Skien Kristiansand"^^xsd:string . ### :Route_1_Kristiansand_Arendal rdf:type owl:NamedIndividual , :hasEndBusStation :ArendalBusStation ; :hasRouteDay :route1DayMonday , :route1DaySunday ; :hasStartBusStation :KristiansandBusStation ; :hasStopTimeIntervals :intervalsRoute1 ; :isOperatedBy :AgderExpressen ; rdfs:label "Route 1 Kristiansand Arendal"^^xsd:string . ### :Route_2_Arendal_Kristiansand rdf:type owl:NamedIndividual , :hasStartBusStation :ArendalBusStation ; :hasStopAtBusStop :GrimstadBusStop ; rdfs:label "Route 2 Arendal Kristiansand"^^xsd:string . ### :SkienBusStation rdf:type owl:NamedIndividual , rdfs:label "Skien Bus Station"^^xsd:string . ### :TelemarkExpressen rdf:type owl:NamedIndividual , rdfs:label "Telemark Expressen"^^xsd:string . ### :intervalsRoute1 rdf:type owl:NamedIndividual , :StopTimeIntervals ; :hasFirstBusRouteStop :route1Stop1 . ### :route190DayMonday rdf:type owl:NamedIndividual , :RouteDay ; :hasOnWeekDay "Monday"^^xsd:string . ### :route1DayMonday rdf:type owl:NamedIndividual , :hasDepatureTime "345"^^xsd:int , "405"^^xsd:int , "465"^^xsd:int ; ### :route1DaySunday rdf:type owl:NamedIndividual , :hasDepatureTime "600"^^xsd:int , "720"^^xsd:int ; :hasOnWeekDay "Sunday"^^xsd:string . ### :route1Stop1 rdf:type owl:NamedIndividual , :BusRouteStop ; :hasNextBusRouteStop :route1Stop2 ; :hasStopAtBusStop :KristiansandBusStation ; :hasRouteStopNumber "0"^^xsd:int ; :hasTimeFromStart "0"^^xsd:int . ### :route1Stop2 rdf:type owl:NamedIndividual , :hasNextBusRouteStop :route1Stop3 ; :hasRouteStopNumber "1"^^xsd:int ; :hasTimeFromStart "60"^^xsd:int . ### :route1Stop3 rdf:type owl:NamedIndividual , :hasNextBusRouteStop :route1Stop4 ; :hasStopAtBusStop :FevikBusStop ; :hasRouteStopNumber "2"^^xsd:int ; :hasTimeFromStart "74"^^xsd:int . ### :route1Stop4 rdf:type owl:NamedIndividual , :hasStopAtBusStop :ArendalBusStation ; :hasRouteStopNumber "3"^^xsd:int ; :hasTimeFromStart "104"^^xsd:int . ### Generated by the OWL API (version )
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.