Limeds and the Trapist Project
Total Page:16
File Type:pdf, Size:1020Kb
LimeDS and the TraPIST Project: A Case Study An OSGi-based Ontology-enabled Framework Targeted at Developers in Need of an Agile Solution for Building REST/JSON-based Server Applications Stijn Verstichel, Wannes Kerckhove, Thomas Dupont, Bruno Volckaert, Femke Ongenae, Filip De Turck and Piet Demeester Department of Information Technology (INTEC), Ghent University – iMinds, G. Crommenlaan 8/201, 9050, Gent, Belgium Keywords: LimeDS, TraPIST, REST/JSON, OSGi, Semantics, Reasoning, Transportation. Abstract: Real-Time Travel Information (RTTI) for rail commuters is still used inefficiently today and is rarely combined with other knowledge to come to a truly personalised and situation-aware multimodal travelling assistance. It is up to the travellers themselves to look for important info about their trip through static schedules or dedicated non-personalised applications. In a highly dynamic context such as that of public transportation, it would make life easier if one was able to consult the right information at the right time (removing superfluous information), for a variety of multimodal public transportation options, taking into account the context of the person travelling. In this paper we present the LimeDS framework, allowing application developers to rapidly define data workflows from a variety of data sources, deploy these workflows in a scalable and resilient manner and expose results to client applications as REST endpoints. A Proof-of-Concept (PoC) shows how our proposed framework can be used to tie together different open transportation data sources in order to create highly dynamic multimodal travel assistance applications by semantically enriching the data into knowledge, checking for ontological consistency and reason over the resulting knowledge. 1 INTRODUCTION tination, activities). It quickly became apparent that the develop- The current generation of applications based on Real- ment of these situation-aware knowledge consolida- Time Train Information (RTTI) is still not fully us- tion applications introduced a lot of common over- ing (open) data to facilitate rail travel. They are often head (consulting multiple open data sources, pro- based on only one source, even though other sources cessing their results, dealing with sudden unavail- can be relevant for the passenger’s journey (e.g. trans- ability of sources, etc.) and as such, the deci- portation vehicle load sensor data, passenger data, sion was made to develop a generic framework for weather forecast, tourist events and promotions, etc.). building REST/JSON-based ontology-enabled appli- The high-level goal of the Train Passenger In- cations, named a Lightweight modular environment terfaces for Smart Travel (TraPIST) (iMinds VZW, for Data-oriented Services (LimeDS) (IBCN, 2014). 2014) project is to offer public transportation trav- Some of the main properties of LimeDS are: ellers relevant information pro-actively, at the right Rapid & User-friendly HTTP Web Exposure: time and through the most appropriate channel. The • through the built-in support to expose Represen- development of a framework that collects, analyses, tational State Transfer (REST) endpoints classifies and filters data from various sources, based Agile Dependency Injection: each component on a dynamic traveller profile, is at the heart of the • project. Based on this info, specific traveller appli- can be injected and called in the context of other cations are developed giving passengers direct access components without the need for boiler plate code to the information they need. The moment when the Flexible Storage System: the actual storage im- information is presented is triggered by the situation, • plementation is abstracted from the specification such as a specific time, a location, an event or the trav- and can easily be replaced according to the re- ellers own circumstances (e.g. present company, des- quirements at hand 501 Verstichel, S., Kerckhove, W., Dupont, T., Volckaert, B., Ongenae, F., Turck, F. and Demeester, P.. LimeDS and the TraPIST Project: A Case Study - An OSGi-based Ontology-enabled Framework Targeted at Developers in Need of an Agile Solution for Building REST/JSON-based Server Applications. In Proceedings of the 7th International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management (IC3K 2015) - Volume 2: KEOD, pages 501-508 ISBN: 978-989-758-158-8 Copyright c 2015 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved SSEO 2015 - Special Session on Enterprise Ontology Scalability and Profiling Toolkit: support for versus daily use/knowledge of the station layout) and • load-balancing services and data caching physical limitations of that person (e.g. people with Support for Processing of JSON-LD: formatted physical disabilities or in wheelchairs, elderly, peo- • data and reasoning on that data ple using a child carrier or heavy travelling luggage). In order to come up with a true personalised travel Polyglot Environment: support for multiple pro- • guidance system, this contextual information needs to gramming languages: Java, JavaScript and Python be captured and taken into account before presenting Powerful Management User Interface (UI). travelling guidance to the user. • The remainder of this paper is structured as fol- 2.1.1 Ontology Engineering lows: Section 2 introduces the PoC application while LimeDS, the foundation for the TraPIST develop- In support of this scenario an ontology has been cre- ments is presented in Section 3. In Section 4 a num- ated extending two existing ontologies: ber of important modules are detailed. A selection of Transit (Davis, 2011): A vocabulary for describ- related work is enlisted in Section 5. Finally, we con- • clude this paper in Section 6. ing transit systems and routes, and Weather (Gajderowicz, 2011): Based on the on- • tology created by Aaron Elkiss (Elkiss, 2011). 2 PoC DEMONSTRATOR Starting from the Transit and Weather ontolo- gies an extension has been modelled, representing To demonstrate the strength of the presented LimeDS the railway timetable from Nationale Maatschappij framework, a PoCs has been defined and is being im- Belgische Spoorwegen (Belgian National Railways) plemented. This PoC concerns the personalisation (NMBS)/SNCB (SNCB/NMBS, 2015) at a number of of feasible connections at interchange stations. The Belgian railway stations. This represents the railway steps needed to create such an application using the schedule as it should be if everything runs accord- LimeDS framework are presented in this section. ing to plan. The main new Web Ontology Language In general, we will employ an ontology to describe (OWL) class has been named Connection. Individuals public transport related concepts, and to classify us- of these Connections represent the actual running of ing a combination of OWL DL and SWRL based rea- that service on a specific date and are used at-runtime soning. The LimeDS framework can then be used to to determine which of the Connections at any given compose the data flows for specific applications, al- railway station can be caught for the given traveller’s lowing to connect a variety of data producers (e.g. profile. To perform the classification, a combination railway timetable information providers) with reason- of OWL DL as well as SWRL reasoning is adopted. ing modules drawing conclusions based on the cur- A number of illustrative axioms are presented in the rently available information and context, and expos- following paragraphs. ing these reasoning results as REST endpoints for vi- For a Connection to be classified as suitable for sualisation by (mobile) client applications. travellers with a mobility impairment, the OWL defi- nition is given below, based on the terms available in 2.1 Personalised Connections the Transit vocabulary. It specifies that the Connec- tion should be on a route which has a pre-arrangement An important aspect of a satisfactory travel experi- for mobility impaired passenger, this arrangement ence for all travellers is the fact that transportation in- should have been confirmed by the operator and the formation should be correct and accurate at all times, Connection should depart from a platform at ground and preferably tuned for the specific situation or con- level: text of the person at hand. Let us clarify this with MobilityImpairmentSuitableConnection an example: a connecting public transportation option <=> may not be feasible to catch for every type of person (route some owl:Thing) if only five minutes are scheduled between arriving and (hasAccessArrangement value prearranged) at a station and boarding that scheduled connection and (platform some xsd:int[> "-1"ˆˆxsd:int]) leaving from a different platform, as there is a need and (isArrangementOK value true) to disembark, orient yourself and find/make your way It should be clear that for other situations or other to the other platform and finally board the connect- transport modes, such as bus, taxi or cycle hire, other ing transport. In other words, the time a traveller re- definitions can be specified in the domain ontology, quires to transfer between public transport platforms used for that specific operator deployment. How- can be dependent on the context (e.g. a first time visit ever, thanks to the generic notion of a MobilityIm- 502 LimeDS and the TraPIST Project: A Case Study - An OSGi-based Ontology-enabled Framework Targeted at Developers in Need of an Agile Solution for Building REST/JSON-based Server Applications pairmentSuitableConnection, the UI visualising this information does not need to be aware of the specific definitions in place for that specific situation. The rea- soner performs the job of filtering and classification. In first instance, the use of as much DL-based axioms as possible has been pursued, for the reason of gener- icness and to support the ability to exchange multiple OWL DL enabled reasoner implementations. How- ever, sometimes it might not be possible to purely rely on OWL DL. To facilitate those more complex situ- ations, support for SWRL rules has been included as well. An example of using SWRL to support complex Figure 1: Data Flow to classify the personalised connec- rules and to take the real-time running information of tions.