Slide 1

Slide 1 text

[email protected] http://linkedconnections.org Scalable intermodal route planning advice

Slide 2

Slide 2 text

[email protected] http://linkedconnections.org How do you get to work?

Slide 3

Slide 3 text

[email protected] http://linkedconnections.org Path that makes you the happiest? by @danielequercia Did you calculate the shortest path?

Slide 4

Slide 4 text

[email protected] http://linkedconnections.org Route planners need an incredible amount of data, from different sources crossing boundaries, transport modes, etc.

Slide 5

Slide 5 text

[email protected] http://linkedconnections.org http://api.{myapp}/?from={A}&to={B} Let’s design a web-service e.g., a plain old HTTP+JSON API

Slide 6

Slide 6 text

[email protected] http://linkedconnections.org http://api.{myapp}/?from={A}&to={B} &departuretime=2015-09-09T14:45Z &wheelchairaccessible=true &transit_modes=plane,railway,bus,car &algoritm_mode=shortest ... Server performs the algorithm And needs to handle any request possible

Slide 7

Slide 7 text

[email protected] http://linkedconnections.org Can we fix this problem by following the Web’s principles? - REST for scalability and high availability - Hypermedia for enabling intelligent agents - Linked Data for semantic interoperability

Slide 8

Slide 8 text

[email protected] http://linkedconnections.org Can we decouple data publishing from the execution of the algorithm?

Slide 9

Slide 9 text

[email protected] http://linkedconnections.org Let’s take a look at the data a connection departureTime + departureStop arrivalTime + arrivalStop another connection departureTime + departureStop arrivalTime + arrivalStop

Slide 10

Slide 10 text

[email protected] http://linkedconnections.org time * The Connection Scan Algorithm (CSA) And this is the algorithm* ~ creating a minimum spanning tree through a sorted directed acyclic graph Squares are connections

Slide 11

Slide 11 text

[email protected] http://linkedconnections.org Resource X Resource ... Resource 2 Resource 1 time nextPage nextPage When published in pages on the Web, route planning will need X requests instead of 1

Slide 12

Slide 12 text

[email protected] http://linkedconnections.org Try it yourself at http://LinkedConnections.org

Slide 13

Slide 13 text

[email protected] http://linkedconnections.org How do transfers work? A problem we can solve with Linked Data Connection A departureTime T1 departureStop S1 arrivalTime T2 arrivalStop S2 Rail Station S2 longitude X1 latitude Y1 name ... ParentStation Station S3 As S2 becomes reachable, others stops become reachable as well: nearby Bus Stop S4 Bus Stop S5 ... has parent stop

Slide 14

Slide 14 text

[email protected] http://linkedconnections.org And multimodal route planning? Merge different connection streams over the Web of data

Slide 15

Slide 15 text

[email protected] http://linkedconnections.org The Linked Data Fragments axis for transport Data dumps Linked Connections Answer any question on the server Route planning algorithms as a service Data publishing Data services http://api.{myapp}/?from={A}&to={B} http://{myhost}/{datafragmentid}