=Paper=
{{Paper
|id=None
|storemode=property
|title=Developing Mobile Linked Data Applications
|pdfUrl=https://ceur-ws.org/Vol-1272/paper_131.pdf
|volume=Vol-1272
|dblpUrl=https://dblp.org/rec/conf/semweb/SeneviratneaMSLKC14
}}
==Developing Mobile Linked Data Applications==
Developing Mobile Linked Data Applications
Oshani Seneviratne1 , Evan W. Patton2,1 , Daniela Miao1 , Fuming Shih1 , Weihua
Li1 , Lalana Kagal1 , and Carlos Castillo3
1
Massachusetts Institute of Technology
{oshanis,ewpatton,dmiao,fuming,wli17,lkagal}@csail.mit.edu
2
Rensselaer Polytechnic Institute pattoe@rpi.edu
3
Qatar Computing Research Institute chato@acm.org
Abstract. With the rapid advancement of mobile technologies, users are
generating and consuming a significant amount of data on their handheld
devices. However, the lack of Linked Data tools for these devices has left
much of the data unstructured and difficult to reuse and integrate with
other datasets. We will demonstrate an application development framework
that enables the easy development of mobile apps that generate and con-
sume Linked Data. We also provide a set of easy-to-deploy Web Services
to supplement functionality for mobile apps focused on crowdsourcing. We
motivate our work by describing a real-world application of this framework,
which is a disaster relief application that streams crowd-sourced reports in
real time.
1 Introduction
Many developers are shifting their attention to the mobile world as smartphones
are becoming the information hub for people’s daily lives [1]. The pervasiveness of
smartphones has led to the ubiquitous consumption and generation of data on them.
Smartphones can derive contextual information from their environment, enabling
applications that provide great value both to individual users and to society. For ex-
ample, context-aware applications can recommend products, services, or connections
to others based on people’s surroundings. People can also use social applications to
report their status and the situation around them in cases of emergencies, such as
floods or earthquakes.
Most mobile applications create or consume data stored in standalone databases
without the potential of being “interlinked” with data from other applications or
organizations. The Web community has advocated the use of Linked Data technolo-
gies to address this data interoperability issue in Web-based applications. Although
we have seen some success from content publishers in using or publishing Linked
Data, few examples exist for mobile platforms [2].
Our goal is to bring support for Linked Data to mobile platforms by allowing
developers to build mobile applications that consume and publish Linked Data au-
tomatically. We will demonstrate a framework that allows developers to accomplish
this on Android devices through modular components, as well as cloud scripts aimed
at enabling quick deployment of companion web services to interact with streams
of Linked Data. We believe that this framework will reduce the burdens of mobile
developers to work with Linked Data and open up many opportunities for building
applications that interact with and contribute to the Linked Data world.
Fig. 1: Consuming Linked Data. Left: Logic used for obtaining the user’s loca-
tion, constructing a SPARQL query, querying a remote endpoint, and displaying
the retrieved results on a map. Right: Output as seen on the phone. ‘QueryButton’
in the blocks editor is the name of the button with the label ‘Get Landmarks near
Current Location’ as seen on the phone.
2 Framework
Our framework1 extends MIT App Inventor,2 an open source, web-based environ-
ment for developing Android applications. Though primarily designed for pedagog-
ical use, App Inventor has found great success in many domains and boasts about
87,000 users weekly, 1.9 million total users, and over 4.9 million applications ranging
from tracking rainfall in Haiti3 to teaching U.S. Marines how to destroy weapons.4
App Inventor is structured around components: discrete blocks that provide func-
tionality and user interface elements that developers connect together to create an
application. App Inventor provides a designer view for laying out an application’s
user interface and a blocks view where users define their program logic by connecting
method blocks, associated with components, together (as shown in Fig. 1).
We will demonstrate several components that we’ve developed powered by Apache
Jena5 , including forms to generate Linked Data, maps for visualizing geographic
data, web services for cloud messaging, web services for exploring Linked Data,
and sensor components for context awareness. We will also demonstrate companion
web services that provide cloud functionality for mobile phones such as providing
messaging services to integrate streaming RDF content.
3 Use Case: WeReport
WeReport allows people to report (e.g. through a photo) the situation on the ground
during an emergency, hence enhancing situational awareness with respect to the
emergency [3]. The application demonstrates the capacity to generate and consume
Linked Data, as well as integrate with different public datasets.
Consider a scenario where a hurricane has hit a city, and Joe, a volunteer citizen
reporter, notices a series of potential hazards in his neighborhood, e.g. fallen trees
blocking an intersection. With WeReport, Joe can take a picture of the hazard and
upload it, along with a tag and description, to warn others in the area. An example
of this report can be seen in Figure 2a.
1
http://punya.appinventor.mit.edu
2
http://appinventor.mit.edu/
3
http://www.webcitation.org/6PUXWVG0U
4
http://www.webcitation.org/6PUXZb7FM
5
https://jena.apache.org
(a) Submitting Reports (b) Browsing Reports
Fig. 2: WeReport application for Mobile Devices: an application that allows users to
submit disaster reports to the cloud. Users can subscribe to reports close to a certain
location on a topic such as ‘Fallen Trees’, and results are streamed in real-time to
subscribers via push notifications.
When creating a report, WeReport consumes Linked Data via pre-defined SPARQL
queries that search for popular landmarks near Joe’s location, so that those places
can be tagged if hazardous. At the same time, the mobile application enables him to
transparently produce structured data through our Linked Data-enhanced compo-
nents. The generated data can be published to SPARQL 1.1 compliant endpoints,
which enables data re-use by others.
WeReport also supports real-time streaming of user-submitted disaster reports.
In this scenario, Bob and Anna are both relief workers heading towards the affected
area. Using WeReport, they have subscribed to the hurricane disaster feed and they
continuously receive push notifications as reports on the disaster area are submitted
by users like Joe. While Bob wishes to be continuously notified on every newly
submitted report, Anna chooses to receive an alert only when there are at least
3 reports of a certain type in a given location, a custom limit she had previously
specified. Whenever Bob and Anna want to view the newest reports, WeReport
provides a “Browse Reports” interface which automatically displays the received
reports, as show in Figure 2b.
4 Related Work
There has been some work in Linked Data use for smartphones, however, they do not
provide a comprehensive solution to mobile app development as our framework does.
[4] propose a lightweight general-purpose RDF framework for Android to share ap-
plication data inside the phone. Our framework focuses on obtaining external RDF
sources and consuming them and not necessarily application data integration using
RDF. Spinel [5] is a plug-in architecture and a set of web configuration tools for
Android that enable new datasets to be added to mobile phones without program-
ming. We provide both a plug-in architecture and support for adding new datasets
using program blocks that can be configured easily. Another notable platform for
creating mobile Linked Data applications is the “RDF on the go”, an RDF storage
and query processor library for mobile devices [6]. Our framework not only allows
storage and querying of RDF data, but more importantly makes it much more user
friendly to manipulate the data, be it contextual data from the phone or data from
a remote endpoint.
Unlike applications such as Cinemappy [7] and DBPedia Mobile [8], which re-
quire developers to have extensive knowledge of both Linked Data and mobile pro-
gramming, our target audience is Linked Data developers who want to develop
mobile applications but do not have mobile programming experience.
5 Summary
Though mobile devices have become the primary computing and communication
platform for users, the number of Linked Data apps available for these devices is
insignificant because developing them is currently extremely time consuming.
In this demonstration, we show a mobile application platform that enables mo-
bile Linked Data applications to be quickly and easily developed. Along with leading
to applications that are able to leverage structured data, these mobile applications
will help get around the classic “chicken-or-egg” situation by being both genera-
tors and consumers of Linked Data. The current implementation contains a few
limitations including scalability, which our team will be working on. We will also
be conducting further user studies to evaluate the usability and usefulness of the
platform.
References
1. Tillmann, N., Moskal, M., de Halleux, J., Fahndrich, M., Bishop, J., Samuel, A., Xie, T.:
The future of teaching programming is on mobile devices. In: Proceedings of the 17th
ACM annual conference on Innovation and technology in computer science education,
ACM (2012) 156–161
2. Ermilov, T., Khalili, A., Auer, S.: Ubiquitous Semantic Applications: A Systematic
Literature Review. International Journal on Semantic Web and Information Systems
10(1) (2014)
3. Vieweg, S.: Situational Awareness in Mass Emergency: A Behavioral and Linguis-
tic Analysis of Microblogged Communications. PhD thesis, University of Colorado at
Boulder (2012)
4. David, J., Euzenat, J., Rosoiu, M., et al.: Linked data from your pocket. In: Proc. 1st
ESWC workshop on downscaling the semantic web. (2012) 6–13
5. Chang, K.S.P., Myers, B.A., Cahill, G.M., Simanta, S., Morris, E., Lewis, G.: A plug-in
architecture for connecting to new data sources on mobile devices. In: Visual Languages
and Human-Centric Computing (VL/HCC), 2013 IEEE Symposium on, IEEE (2013)
51–58
6. Le Phuoc, D., Parreira, J.X., Reynolds, V., Hauswirth, M.: RDF On the Go: RDF
Storage and Query Processor for Mobile Devices. In: ISWC Posters&Demos. (2010) 12
7. Ostuni, V., Gentile, G., Noia, T., Mirizzi, R., Romito, D., Sciascio, E.: Mobile movie
recommendations with linked data. In Cuzzocrea, A., Kittl, C., Simos, D., Weippl, E.,
Xu, L., eds.: Availability, Reliability, and Security in Information Systems and HCI.
Volume 8127 of Lecture Notes in Computer Science. Springer Berlin Heidelberg (2013)
400–415
8. Passant, A.: Measuring Semantic Distance on Linking Data and Using it for Resources
Recommendations. In: AAAI Spring Symposium: Linked Data Meets Artificial Intelli-
gence. (2010)