12
Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh (B ) , Peter Wetz, Ba-Lam Do, Amin Anjomshoaa, Elmar Kiesling, and A Min Tjoa Vienna University of Technology, Vienna, Austria {tuan.trinh,peter.wetz,ba.do,amin.anjomshoaa, elmar.kiesling,a.tjoa}@tuwien.ac.at Abstract. Despite a drastic increase in available Open and Linked Data, unmediated utilization of these data by end users is still relatively uncommon. Applications built on top of Open Data are typically domain- specific and discovering appropriate solutions that fit users’ rapidly shift- ing needs is a cumbersome process. In line with the Linked Data paradigm, end user tools should be based on openness, foster reusabil- ity, and be flexible enough to handle arbitrary data sources. We develop an open platform based on Semantic Web technologies that encourages developers and users to access, process, integrate, and visualize Open Data sources. To help users overcome technological barriers of adoption and get in touch with Open Data, we introduce the concept of Linked Widgets. By connecting Linked Widgets from different developers, users without programming skills can compose and share ad-hoc applications that combine Open Data sources in a creative manner. 1 Introduction In recent years, organizations and governments have made large volumes of useful Open Data available on the web. Publishers frequently release the data under a license that allow anyone to use, reuse and redistribute it. This allows interested stakeholders to analyze the data, put it in a new context, gain insights, and create innovative services. Using Vienna Open Government 1 data, for example, one can easily find Points of Interest (POI) such as public barbecue areas or bathing areas at the shores of the Danube River; from the LinkedGeoData 2 repository, a tourist can find POIs all over the world, accessible as Linked Data. Open Data, particularly if published as Linked Open Data (LOD) in an interlinked, structured and machine-understandable manner, has large potential to inform decisions and solve problems. However, end users are not able to directly access, explore, and combine different sources to satisfy their information needs or support their everyday decision-making due to a number of technological barriers: (i) Users do not 1 https://open.wien.at/site/ 2 http://linkedgeodata.org/ c Springer International Publishing Switzerland 2014 V. Presutti et al. (Eds.): ESWC Satellite Events 2014, LNCS 8798, pp. 171–182, 2014. DOI: 10.1007/978-3-319-11955-7 14

Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

Embed Size (px)

Citation preview

Page 1: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

Linked Widgets Platform: Lowering the Barrierfor Open Data Exploration

Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin Anjomshoaa,Elmar Kiesling, and A Min Tjoa

Vienna University of Technology, Vienna, Austria{tuan.trinh,peter.wetz,ba.do,amin.anjomshoaa,

elmar.kiesling,a.tjoa}@tuwien.ac.at

Abstract. Despite a drastic increase in available Open and Linked Data,unmediated utilization of these data by end users is still relativelyuncommon. Applications built on top of Open Data are typically domain-specific and discovering appropriate solutions that fit users’ rapidly shift-ing needs is a cumbersome process. In line with the Linked Dataparadigm, end user tools should be based on openness, foster reusabil-ity, and be flexible enough to handle arbitrary data sources. We developan open platform based on Semantic Web technologies that encouragesdevelopers and users to access, process, integrate, and visualize OpenData sources. To help users overcome technological barriers of adoptionand get in touch with Open Data, we introduce the concept of LinkedWidgets. By connecting Linked Widgets from different developers, userswithout programming skills can compose and share ad-hoc applicationsthat combine Open Data sources in a creative manner.

1 Introduction

In recent years, organizations and governments have made large volumes of usefulOpen Data available on the web. Publishers frequently release the data under alicense that allow anyone to use, reuse and redistribute it. This allows interestedstakeholders to analyze the data, put it in a new context, gain insights, and createinnovative services. Using Vienna Open Government1 data, for example, onecan easily find Points of Interest (POI) such as public barbecue areas or bathingareas at the shores of the Danube River; from the LinkedGeoData2 repository,a tourist can find POIs all over the world, accessible as Linked Data. OpenData, particularly if published as Linked Open Data (LOD) in an interlinked,structured and machine-understandable manner, has large potential to informdecisions and solve problems.

However, end users are not able to directly access, explore, and combinedifferent sources to satisfy their information needs or support their everydaydecision-making due to a number of technological barriers: (i) Users do not1 https://open.wien.at/site/2 http://linkedgeodata.org/

c© Springer International Publishing Switzerland 2014V. Presutti et al. (Eds.): ESWC Satellite Events 2014, LNCS 8798, pp. 171–182, 2014.DOI: 10.1007/978-3-319-11955-7 14

Page 2: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

172 T.-D. Trinh et al.

know where to find the required data sources; (ii) provided that they are awareof appropriate sources, they frequently do not have the means and skills to accessthem; and (iii) if users are able of collecting raw data from various sources, theyare typically not capable of performing the necessary data processing and dataintegration tasks manually.

Therefore, end users can not, as yet, tap the potential of Open Data, butrather have to rely on applications built by others. Research into End User Pro-gramming aims to emancipate users from this dependence upon programmersand allow them to satisfy their individual needs with limited up-front learn-ing time investment [10]. In this research tradition, widget-based mashups weredeveloped as a visual programming paradigm that allows end users to composead-hoc applications by combining available widgets. Such applications use “con-tent from more than one source to create a single new service displayed in asingle graphical interface” [3], thereby increasing the value of existing data.

Following a widget-based mashup approach, we have developed a LinkedWidgets platform3 that aims to (i) provide universal practical utility withoutrestrictions on domain or data sources, (ii) allow users to combine multiple OpenData sources and leverage their joint value, and (iii) allow novice users to analyze,integrate and visualize data.

The platform is built upon Semantic Web technologies and its design followsthree guiding principles: openness, connectedness, and reusability. Openness dis-tinguishes the platform from similar approaches and is the key for achieving ourfirst objective, i.e., the capability to deal with various data sources. This open-ness should encourage developers to implement and add new widgets to theplatform. End users can reuse and connect these widgets to collect, integrate,and combine data from different sources in a dynamic and creative manner.

To achieve the second goal, we use a graph-based model to semanticallydescribe the input and output of a widget. The platform uses the annotatedmodels to provide semantic search, data model matching, and auto composition.Semantic search is a mechanism for the discovery of widgets that help solve agiven information problem. Data model matching allows the platform to high-light compatible widgets (i.e., signal the user which widgets can be connected).Auto composition is an innovative approach to compose complete applicationsautomatically from a set of widgets. Research on the latter is still in an earlystage of development and beyond the scope of this paper.

The remainder of this paper is organized as follows. In Sect. 2, we introducekey terms and outline the Linked Widget life cycle. Section 3 illustrates thepotential of the platform by means of a sample use case. Section 4 introducesthe Linked Widget model, Sect. 5 outlines the widget development process, andSect. 6 discusses how widgets from different developers are connected. Section 7provides pointers to related work and we conclude in Sect. 8 with an outlook onfuture research.

3 http://linkedwidgets.org/

Page 3: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

Linked Widgets Platform: Lowering the Barrier 173

2 Linked Widget Life Cycle

Before we define the Linked Widget life cycle, it is necessary to define a set ofbasic terms and concepts. A widget is an “interactive single purpose applicationfor displaying and updating local data or data on the Web, packaged in a way toallow a single download and installation on a user’s machine or mobile device”.4

Widgets can make use of web services or web Application Programming Inter-faces (APIs). Furthermore, they can access existing Open Data sources such asOpen Governmental Data (OGD) and Linked Data.

Linked Widgets [18] are the key concept that our platform is based upon.They extend standard widgets with a semantic model following Linked Dataprinciples. The semantic model describes data input/output and metadata suchas provenance and license. In particular, the model consists of four main compo-nents: (i) input terminals, (ii) output terminals, (iii) options, and (iv) a processingfunction. Input/output terminals are used to connect widgets in a mashup andrepresent the data flow. Options are HTML inputs inside a widget. They pro-vide a mechanism for users to control a widget’s behavior. Finally, the processingfunction defines how widgets receive input and return their output.

We distinguish three types of widgets: data widget, process widget, and pre-sentation widget. A data widget retrieves data from a data source and providesthe collected data to other widgets. Hence, it has no input terminals. A processwidget takes input data from other widgets, applies operations on the data, andprovides the result to other widgets. It has both input and output terminals.A presentation widget has at least one input terminal and presents the datafrom another widget in a particular manner (e.g., textually or visually). It hasno output terminals.

A Mashup is an interconnected combination of widgets. It should contain atleast one data widget providing the data and one presentation widget to displaythe final results.

Figure 1 illustrates the Linked Widgets life cycle. Developers first implementand deploy their widgets on arbitrary servers; then, they pass the UniformResource Locator (URL) of the widget to the widget annotator module. Thismodule allows them to add semantic annotations to their widgets. Next, the plat-form manager checks whether (i) the widget is accessible via the annotated URLand (ii) whether the used vocabularies conform to existing widgets to enforceconsistency throughout the platform. After this validation process, the createdwidget model is stored permanently as Linked Data and is accessible through aSPARQL endpoint. A published widget can be revoked if, for instance, its cor-responding Open Data source is no longer available. The platform uses Pubby5

to provide dereferenceable Uniform Resource Identifiers (URIs).Once widgets are made available on the platform, users can use them in their

mashups. To this end, because the number of widgets and related Open Datasources may be large, users may first need to search for appropriate widgets. By

4 http://www.w3.org/TR/widgets/5 http://wifo5-03.informatik.uni-mannheim.de/pubby/

Page 4: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

174 T.-D. Trinh et al.

1. WidgetAnnotator

Widgets

HTML, JSJSPASPPHP...

WidgetLinked Data

Store3. Mashup Editor 3.1. Widget

Search

3.2. WidgetCompositionSuggestion

4. MashupPublication

MashupLinked Data

Store

Mashup Platform

Mas

hup

UR

L

5. MashupSearch

Widget URL

TemporaryWidget

Linked DataStore

2. WidgetValidation

Fig. 1. Linked Widget life cycle

executing a SPARQL query over the semantic data repository of widget modelsin the background, the platform allows users to (i) search for widgets based ontheir input or output model, and (ii) for a selected terminal of a selected widget,find all terminals of other widgets that are compatible with it.

The final result of a mashup is directly displayed on the platform. Alterna-tively, it can also be shown via the mashup publication module and be sharedand published on other websites. Users can also package a mashup as a newwidget.

In conclusion, the platform is versatile, open and extensible. Maintainingthis platform is economical since developers can store widgets externally andboth the data retrieval and data processing tasks take place in either the client’sbrowser or on the widget server. Finally, although widgets come from differentdevelopers and end users, they can be reused in an efficient manner: (i) userscan creatively combine Linked Widgets from different developers to composeLOD applications, (ii) they can reuse LOD applications from others, but changethe parameters of the constituent widgets, (iii) they can reuse a composed LODapplication as a new widget, and (iv) based on available widgets, developers canimplement new widgets to support new use cases.

3 Open Data Exploration

As the Open Data paradigm gains broad support, an increasingly relevant chal-lenge is to provide means to utilize these data. The process of working withpublished Open Data sources should be as intuitive as possible, especially forusers without a technical background. In this section we present a motivationalscenario that illustrates how the platform allows users to handle Open Datasources in an innovative fashion and fosters (re)use of data.

We organize widgets into widget collections addressing different problemdomains. Each collection might use various Open Data sources. For the exampleuse case, consider a tour guide collection of seven widgets that combine datafrom Google Maps, Last.fm, Flickr, and LinkedGeoData.

Page 5: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

Linked Widgets Platform: Lowering the Barrier 175

– Map Pointer: Users can define a point on a map. The point’s latitude andlongitude is then returned as output.

– Music Artist Search: Via the last.fm API6 this widget accepts an artist’sname as an input and returns the corresponding URL.

– Music Event by Artist: Based on an artist URL this widget returns eventsthis artist participates in while providing a time and event name filter. Thisis also done with the last.fm API.

– Point of Interest Search: This widget leverages the LinkedGeoData repos-itory to find semantically encoded POIs. Users can influence the output byproviding parameters. Users can select the type of POI and the radius ofretrieved POIs with respect to the incoming location.

– Flickr Geo Image Search: By using the Flickr Image Search API7 thiswidget enriches location data with images. Users may specify a radius andresult limit.

– Google Map: This visualization widget displays points on a map. It is typi-cally used to display the final results of a mashup.

– Geo Merge: This widget merges two lists of point data into a single list ofpairs based on their distance. Users can specify a minimum and a maximumdistance between points. The Geo Merge widget therefore serves two purposes,i.e., merging of two inputs into one output and filtering based on distanceconstraints.

Figure 2 shows one of the mashups in this collection. It covers the followingscenario: We are traveling to a city X and want to know whether our favorite

Fig. 2. A mashup example

6 http://last.fm/api7 https://flickr.com/services/api/

Page 6: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

176 T.-D. Trinh et al.

music artist will give a concert there. After the concert, we want to go get adrink at a bar near the venue. Is there any combination of music events and barswhich satisfy these conditions?

Google Map displays the enriched result. In our example, we get four pairingsof a bar and a nearby music event that the artist is involved in. Each bar andmusic event combination is enriched with illustrative Flickr images and a URIpointing to the corresponding entities at LinkedGeoData and Last.fm.

Many other combinations of widgets are possible. The platform ensures thesemantic validity of widget combinations. For example, we can find (i) all pastor future music events for our artist on the map by wiring Music Event By Artistdirectly to Google Map, (ii) all POIs near a defined place by connecting Pointof Interest Search to Google Map etc.

4 Linked Widget Model

We enrich the widget’s input and output data with semantic models. Thesesemantic I/O models are essential for the subsequent search and compositionprocesses. Furthermore, they are crucial for the effective sharing of widgets. Forexample, even when the number of widgets available is limited (e.g. 43 for Yahoo!Pipes [15] and 300+ for Microsoft Popfly8), finding appropriate widgets neededto build a particular mashup solution is already a difficult task. Existing mashupplatforms usually employ a text-based approach for widget search, which is notparticularly helpful for advanced widget exploration and widget compositiontasks.

Figure 3 presents a part of our ontology for the modeling of Linked Widgets.Using Semantic Web technologies to describe mashups and their components isnot by itself a novel approach (cf. [12,14]). However, rather than capturing thefunctional semantics and focusing on input and output parameters like SAWSDL[7], OWL-S9, or WSMO10, we use a graph-based model [16,17,19] to formallyannotate the input and output components as well as their relations. The SWRLvocabulary is reused to define the semantic relation between two nodes in theinput and output graphs.

Figure 3 also shows the detailed model of the Geo Merger widget. The widgettakes two arrays of arbitrary objects containing the wgs84:location property asinput. Its domain is the Point class with two literal properties, i.e. lat and long.The widget output is a two-dimensional array in which each row representstwo objects from two input arrays, respectively. Those objects include locationssatisfying the distance filter of the Geo Merger widget.

To specify that input/output is an array of objects, we use the literal propertyhasArrayDimension (0: single element; n > 0: n-dimensional array). Because theinput of Geo Merger is an “arbitrary” object, we apply the owl:Thing class torepresent it in the data model.8 http://en.wikipedia.org/wiki/Microsoft Popfly9 http://www.w3.org/Submission/OWL-S/

10 http://www.w3.org/Submission/WSMO/

Page 7: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

Linked Widgets Platform: Lowering the Barrier 177

...

lw:Widget

lw:Input

lw:hasInput

lw:hasOutput

lw:WidgetModel

lw:hasWidgetModel

wl:h

asD

ataM

odel

lw:geoMerger lw:geoMergerModel

lw:hasWidgetModel

lw:output1

lw:input2

wgs84:point1

wgs84:lat

lw:hasArrayDimension

lw:hasOutput

wgs84: http://www.w3.org/2003/01/geo/wgs84_posowl: http://www.w3.org/2002/07/owl

(a) MODEL

(b) EXAMPLE

lw:Output

wgs84:long wgs84:lat wgs84:long

lw:input1

2

lw:hasInput

lw:hasArrayDimension

lw:hasDataModel

1

lw:hasArrayDimensionwgs84:point2

lw:hasDataModel

owl:thing1wgs84:location

owl:thing2

wgs84:location

wgs84:point1 wgs84:point2

lw:geoMergerModel lw:individualPropertyAtom1

(c) EXTRA RELATION

geo:nearby

swrl:argument1swrl:propertyPredicate

lw:hasAtom

swrl:argument2

owl:Thing

property 1property 2

property 3

lw: http://linkedwidgets.org/ontologiesswrl: http://www.w3.org/2003/11/swrl geo: http://www.geonames.org/ontology#

swrl:IndividualPropertyAtom

swrl:argument1

swrl:argument2

swrl:propertyPredicate

Fig. 3. General Linked Widget model and Geo Merger model

The point, location, lat and long terms are available in different vocabularies.However, since a well-established ontology facilitates data exchange betweenwidgets, we chose wgs84. The widget annotator module interactively recommendsfrequently used terms of the most popular vocabularies to developers. This easesthe annotation process and fosters consistency by diminishing the use of varyingterms to describe the same concepts.

With SPARQL queries, we can find a widget that receives/outputs an objectcontaining, for instance, geographic information. Moreover, based on an inputterminal, e.g., the first input of Geo Merger, we can find all output terminalsthat can be connected (cf. Listing 1.1). Conditions that have to be satisfied forthe terminals are: (i) matching type and array dimension; and (ii) matchingattributes, i.e., the set of attributes required by the input terminal must bea subset of the attributes provided by the output terminal. In the tour guidecollection, the outputs of Map Pointer, Point of Interest Search, Flickr GeoImage Search, and Music Event by Artist satisfy these conditions.

Similarly, we can model a more advanced widget. Its input and output haveobject attributes and there can be relations between those objects. For example,when modeling the Geo Merger, if required, we can present the nearby relationbetween the two input points as shown in Fig. 3. Due to the graph-based descrip-tion, the platform can answer questions such as “find all widgets containing thenearby relation between two locations”.

Page 8: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

178 T.-D. Trinh et al.

Listing 1.1. A SPARQL query for terminal matching

PREFIX ifs: <http ://ifs.tuwien.ac.at/> SELECT DISTINCT?oTerminalName ?oWidget WHERE {

<http ://ifs.tuwien.ac.at/WidgetGeoMerge > ifs:hasWidgetModel ?iWModel.?iWModel ifs:hasInput [ifs:hasName ’’input1 ’’^^xsd:string;

ifs:hasDataModel ?iDataModel ].?iDataModel a ?type.?iDataModel ifs:hasArrayDimension ?listLevel.

?oWidget ifs:hasWidgetModel ?oWModel.?oWModel ifs:hasOutput [ifs:hasName ?oTerminalName;

ifs:hasDataModel ?oDataModel]?oDataModel a [rdfs:subClassOf ?type].?oDataModel ifs:hasArrayDimension ?listLevel.

FILTER NOT EXISTS{?iDataModel ?property ?iValue.FILTER NOT EXISTS {? oDataModel ?property ?oValue.}

}}

5 Widget Development

Widgets may be created in two ways: either developers program them or endusers create a mashup and save it as a new widget. In the former case, developersfollow three steps: (i) inject a JavaScript file from the platform into the widgetto equip it with the capability of cooperating with others, (ii) define the inputand output configuration, and (iii) implement the JavaScript run(data) functionwhich defines how the widget processes input data. If a widget has no inputterminal, the corresponding data object is null. Otherwise, during runtime, theplatform collects data from all relevant output terminals to build the data objectand pass it to the run function as a parameter.

Developers can use arbitrary web languages. The widget annotator modulecan automatically generate a skeleton of the widget as well as sample data.Developers then only need to implement the processing function. We expectthis simplicity of widget development will foster developers’ productivity andcreativity. Users hence have more means to explore and combine different OpenData sources.

6 Widget Cooperation

Technically, a Linked Widget is an HTML iframe wrapped in a widget skin. Theplatform automatically creates the skin to provide additional functionalities forthe widget such as create input and output terminals, run, cache, view outputdata, and resize widgets.

Iframes can trigger events, which contain messages. These messages are thenconsumed by other iframes, which registered a listener for these events. Basedon that, we implement a communication protocol that addresses the challenge ofreusing and connecting different applications on top of Open Data. The protocol

Page 9: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

Linked Widgets Platform: Lowering the Barrier 179

Platform A B C

1. setID2. sendConfiguration

3. requestToRun4. requestOutput5. requestToRun

6. requestOutput7. returnOutput

8. setInput9. returnOutput

10. setInput11. finish

1-2: Messages transferred when the mashup is created3-11: Messages transferred when users run Google Map widget

setId: Platform sets IDs to identify widgetssendConfiguration: A widget sends info of its input/outputterminals to the platformrequestToRun: A widget tells the platform it wants to runrequestOutput: The platform needs the output of a widgetsetInput: The platform collects & sets input data for a widgetso that it can run in the next step.returnOutput: A widget returns its output to the platform

Fig. 4. An example of widget communication

is transparent to developers and can be easily extended to fit new use cases thatrequire different types of data such as stream data or batch processed data.

As an example for how the protocol facilitates communication at runtime,consider a mashup with three widgets A→B→C. Typically, when a user triggersan action to run a widget, e.g., widget C, this action requires all widgets thatprovide input to this widget to run first. Because widget C requires the outputfrom widget B, which in turn, requires output from widget A, widgets A and Bneed to run first. Figure 4 shows the messages transferred between the platformand the widgets. The first two messages are delivered when widgets are createdfor the mashup. The platform sets identifiers for all widgets and then receivestheir terminal configurations. The communication takes place entirely in theclient’s browser. After a user has created the mashup, the platform server is nolonger needed because the browser and the widget’s servers do the computation.This process reduces the platform-server load and improves performance andscalability.

7 Related Work

Researchers have been developing mashup-based tools for years. Many of themare geared towards end users and aim to allow them to efficiently create appli-cations by connecting simple and lightweight entities.

Aghaee and Pautasso [1] provide a good overview of mashup approaches.They discuss open research challenges which we – at least partly – address withour platform. For instance, we address the Simplicity and Expressive PowerTradeoff challenges through a semantic model. They also evaluate Yahoo! Pipes[15], IBM Mashup Center11, Presto Cloud12, and ServFace [11]. A common lim-itation they identify for all these platforms is that the wiring paradigm is hardto grasp for non-expert end users. We aim to overcome this barrier, for instance,by recommending valid wiring options to the user.

11 http://pic.dhe.ibm.com/infocenter/mashhelp/v3/index.jsp12 http://mdc.jackbe.com/enterprise-mashup

Page 10: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

180 T.-D. Trinh et al.

Other surveys of the mashup literature [2] have developed a number of eval-uation criteria and identified shortcomings of existing approaches. Computerscientists addressed some of these shortcomings in more recent contributions,but others remain an open challenge. Grammel and Storey [4] review six differ-ent approaches and identify potential areas of improvement and future research.For instance, they argue that context-specific suggestions could support learn-ing how to build and find mashups. Regarding user interface improvements, theynote that designing mechanisms such as automatic mashup generation to providestarting points to end users would enhance usability drastically. This feature isalso provided by the platform presented in this paper. However, detecting invalidmashups still remains a challenge that requires appropriate debugging mecha-nisms for non-programmers.

Super Stream Collider (SSC) [5], MashQL [6], and Deri Pipes [8] are threeplatforms aimed at semantic data processing. Whereas SSC consumes live streamdata only, MashQL allows users to easily create a SPARQL query, using its cus-tom query-by-diagram language. MashQL cannot aggregate data from differentsources and its output visualization only supports text and table formats. DeriPipes requires users to be familiar with Semantic Web technologies, SPARQLqueries, and programming to perform semantic data processing tasks from dif-ferent data sources. There are multiple other platforms which we only want topoint at, such as Vegemite [9], Paggr [13], or Marmite [20]. They all follow amashup-based approach to ease users’ access to data sources, but unlike ourapproach, they do not make use of semantic models.

8 Conclusion and Future Work

This paper presents an overview of a extensible, generic, open, economical, andsharable mashup platform for the exploration of Open Data. The platform isaimed at end users without knowledge of Semantic Web technologies or pro-gramming skills. We encapsulate semantic, graph-based models inside LinkedWidgets and provide mechanisms to annotate their inputs and outputs. Lever-aging these annotations, the platform combines and searches widgets based ondefined semantics.

Because we encourage developers to contribute their widgets to the platformand the widget development is language-independent, we expect to have a largenumber of versatile widgets in future. As a consequence, users can explore moreOpen Data sources and easily collect and combine desired information.

In the future, this system should serve as a universal data platform and bringtogether both mashup developers and mashup users. This will allow users to workwith different kinds of data sources (e.g., governmental, financial, environmen-tal data etc.) and types of data (e.g., open, linked, tabular data etc.), withouttechnical barriers. From a data perspective, the vision is to support people intheir everyday decision-making.

From a technical perspective, we aim to provide a mashup platform for theexploration of Open Data following Semantic Web design principles. We also

Page 11: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

Linked Widgets Platform: Lowering the Barrier 181

want to push these ideas a step further by lifting non-semantic data on a semanticlevel and leverage its full potential.

Future research will focus on using the semantic models, especially for thewidget auto-composition feature. We also need to improve the model-matchingalgorithm by utilizing ontology alignment techniques, since two models can usedifferent resources from different ontologies. Another interesting direction forfuture research is the automatic creation of new widgets able to handle dynamicweb data as an input source.

References

1. Aghaee, S., Pautasso, C.: End-user programming for web mashups: open researchchallenges. In: Harth, A., Koch, N. (eds.) ICWE 2011. LNCS, vol. 7059, pp. 347–351. Springer, Heidelberg (2012)

2. Aghaee, S., Pautasso, C.: An evaluation of mashup tools based on support forheterogeneous mashup components. In: Harth, A., Koch, N. (eds.) ICWE 2011.LNCS, vol. 7059, pp. 1–12. Springer, Heidelberg (2012)

3. Engard, N.C.: Library Mashups: Exploring New Ways to Deliver Library Data.Information Today, Medford (2009)

4. Grammel, L., Storey, M.-A.: A survey of mashup development environments. In:Chignell, M., Cordy, J., Ng, J., Yesha, Y. (eds.) The Smart Internet. LNCS, vol.6400, pp. 137–151. Springer, Heidelberg (2010)

5. Nguyen Mau Quoc, H., Serrano, M., Le Phuoc, D., Hauswirth, M.: Super streamcollider-linked stream mashups for everyone. In: Proceedings of the Semantic WebChallenge Co-located with ISWC2012, Nov 2012

6. Jarrar, M., Dikaiakos, M.D.: MashQL: a query-by-diagram topping SPARQL. In:Proceedings of the 2nd International Workshop on Ontologies and InformationSystems for the Semantic Web. ONISW ’08, pp. 89–96 (2008)

7. Kopecky, J., Vitvar, T., Bournez, C., Farrell, J.: SAWSDL: semantic annotationsfor WSDL and XML schema. IEEE Internet Comput. 11(6), 60–67 (2007)

8. Le-Phuoc, D., Polleres, A., Hauswirth, M., Tummarello, G., Morbidoni, C.: Rapidprototyping of semantic mash-ups through semantic web pipes. In: Proceedings ofthe 18th International Conference on World Wide Web. WWW ’09, pp. 581–590(2009)

9. Lin, J., Wong, J., Nichols, J., Cypher, A., Lau, T.A.: End-user programming ofmashups with vegemite. In: Proceedings of the 14th International Conference onIntelligent User Interfaces. IUI ’09, pp. 97–106 (2009)

10. Nardi, B.A.: A Small Matter of Programming: Perspectives on End User Comput-ing. MIT Press, Cambridge (1993)

11. Nestler, T., Feldmann, M., Hubsch, G., Preußner, A., Jugel, U.: The ServFacebuilder - a WYSIWYG approach for building service-based applications. In: Bena-tallah, B., Casati, F., Kappel, G., Rossi, G. (eds.) ICWE 2010. LNCS, vol. 6189,pp. 498–501. Springer, Heidelberg (2010)

12. Ngu, A.H.H., Carlson, M.P., Sheng, Q.Z., Paik, H.Y.: Semantic-based mashup ofcomposite applications. IEEE Trans. Serv. Comput. 3(1), 2–15 (2010)

13. Nowack, B.: Paggr: linked data widgets and dashboards. Web Semant. 7(4), 272–277 (2009)

Page 12: Linked Widgets Platform: Lowering the Barrier for Open ... · Linked Widgets Platform: Lowering the Barrier for Open Data Exploration Tuan-Dat Trinh(B), Peter Wetz, Ba-Lam Do, Amin

182 T.-D. Trinh et al.

14. Pietschmann, S., Radeck, C., Meißner, K.: Semantics-based discovery, selectionand mediation for presentation-oriented mashups. In: Proceedings of the 5th Inter-national Workshop on Web APIs and Service Mashups. Mashups ’11, pp. 7:1–7:8(2011)

15. Pruett, M.: Yahoo! Pipes, 1st edn. O’Reilly, Sebastopol (2007)16. Taheriyan, M., Knoblock, C.A., Szekely, P., Ambite, J.L.: Rapidly integrating ser-

vices into the linked data cloud. In: Cudre-Mauroux, P., et al. (eds.) ISWC 2012,Part I. LNCS, vol. 7649, pp. 559–574. Springer, Heidelberg (2012)

17. Taheriyan, M., Knoblock, C.A., Szekely, P., Ambite, J.L.: A graph-based approachto learn semantic descriptions of data sources. In: Alani, H., et al. (eds.) ISWC2013, Part I. LNCS, vol. 8218, pp. 607–623. Springer, Heidelberg (2013)

18. Trinh, T.D., Do, B.L., Wetz, P., Anjomshoaa, A., Tjoa, A M.: Linked widgets:an approach to exploit open government data. In: Proceedings of InternationalConference on Information Integration and Web-Based Applications and Services.IIWAS ’13, pp. 438–442 (2013)

19. Verborgh, R., Steiner, T., Van Deursen, D., Van de Walle, R., Gabarro Valles,J.: Efficient runtime service discovery and consumption with hyperlinked REST-desc. In: Proceedings of the 7th International Conference on Next Generation WebServices Practices, pp. 373–379, Oct 2011

20. Wong, J., Hong, J.I.: Making mashups with marmite: towards end-user program-ming for the web. In: Proceedings of the SIGCHI Conference on Human Factorsin Computing Systems. CHI ’07, pp. 1435–1444 (2007)