=Paper= {{Paper |id=Vol-1409/paper-08 |storemode=property |title=Use Cases for Linked Data Visualization Model |pdfUrl=https://ceur-ws.org/Vol-1409/paper-08.pdf |volume=Vol-1409 |dblpUrl=https://dblp.org/rec/conf/www/KlimekHN15 }} ==Use Cases for Linked Data Visualization Model== https://ceur-ws.org/Vol-1409/paper-08.pdf
                Use Cases for Linked Data Visualization Model

                       Jakub Klímek                     Jiří Helmich                              Martin Nečaský
             Czech Technical University in      Charles University in Prague                Charles University in Prague
                       Prague                   Faculty of Mathematics and                  Faculty of Mathematics and
                Faculty of Information                    Physics                                     Physics
                     Technology                 helmich@ksi.mff.cuni.cz                 necasky@ksi.mff.cuni.cz
                 klimek@fit.cvut.cz

ABSTRACT                                                         catalog instance, which provides full–text search and key-
There is a vast amount of Linked Data on the web spread          word and faceted browsing of the textual metadata of the
across a large number of datasets. One of the visions be-        datasets. To be able to decide whether a given dataset is
hind Linked Data is that the published data is conveniently
reusable by others. This, however, depends on many details
such as conformance of the data with commonly used vocab-
ularies and adherence to best practices for data modeling.                                                                Elections
                                                                                                  Budgets                  results
Therefore, when an expert wants to reuse existing datasets,                       Demogra                                                     Exchange
                                                                                    phy                                                         rates
he still needs to analyze them to discover how the data is                                                    Czech
modeled and what it actually contains. This may include                                                     Ministry of         Contracts,
                                                                                                             Finance            Invoices,
analysis of what entities are there, how are they linked to                                   NUTS             data             Payments
                                                                          LAU                 codes
other entities, which properties from which vocabularies are            regions
used, etc. What is missing is a convenient and fast way of                                                                                   TED
seeing what could be usable in the chosen unknown dataset                                                                                   Public
                                                                                                                                           Contracts
without reading through its RDF serialization. In this paper               Geocoordi                         Czech
                                                                                              RUIAN
we describe use cases based on this problem and their real-                  nates                          Business            Czech
                                                                                                            Entity IDs
ization using our Linked Data Visualization Model (LDVM)                                                                        Public
                                                                                                                               Contracts         CPV 2008
and its new implementation. LDVM is a formal base that
exploits the Linked Data principles to ensure interoperability
                                                                                                                    Institution
and compatibility of compliant analytic and visualization                   COI.CZ            ARES
                                                                                                                    s of public       Consolida
                                                                                             Business                                  ted Law
components. We demonstrate the use cases on examples                                                                  power
                                                                                              Entities
                                                                                                                      (OVM)
from the Czech Linked Open Data cloud.
                                                                    Governmental                              Czech
                                                                                                                                 OVM              Court
Categories and Subject Descriptors                                  Business-entities         Research
                                                                                                              Social
                                                                                                             Security
                                                                                                                                Agendas         decisions
                                                                    Geographical               projects
                                                                                                             Administr
H.5.2 [User interfaces]: GUIs, Interaction styles; H.3.5            Statistical                                ation
[Online Information Services]: Data sharing; H.3.5 [Online
Information Services]: Web-based services
                                                                 Figure 1: The 2015 Czech Linked Open Data Cloud
Keywords
Linked Data, RDF, visualization, discovery                       valuable for his use case or not, the expert needs to find out
                                                                 whether it contains the expected entities and their proper-
1.      INTRODUCTION                                             ties. In addition, the entities and properties can be present
  A vast amount of data represented in a form of Linked          in the dataset, but they may be described using a differ-
Open Data (LOD) is now available on the Web. Therefore,          ent vocabulary than expected. A good documentation of
the focus of Linked Data experts now starts to shift from        datasets is rare, therefore, the expert needs to go through
the creation of LOD datasets to their consumption and sev-       the dataset manually, either by loading it to his triplestore
eral new problems arise. Consider a Linked Data expert           and examining it using SPARQL queries or by looking at the
working for a modern company who has a task of finding           RDF serialization in a text editor. Only recently some other
suitable datasets in the LOD Cloud1 that would enhance           technical approaches started to emerge such as LODeX [2]
the company’s internal data. As of today, he can search          that shows some statistics about the number of RDF triples,
for the datasets in http://datahub.io, which is a CKAN2          classes, etc. and tries to extract the data schema from a
1
                                                                 SPARQL endpoint. However, what the expert would really
    http://lod-cloud.net/                                        need is a simple process where he would provide the data
2
    http://ckan.org/                                             and see whether the entities he expects, and maybe even
                                                                 some others he does not expect, can be found in the given
Copyright is held by the author/owner(s).                        dataset, and see them immediately. In this paper, we will
WWW2015 Workshop: Linked Data on the Web (LDOW2015).             focus on this part of dataset consumption. Now let us assume
that the expert found a suitable dataset such as a list of all       fast, when the expert knows the source data and the desired
cities and their geocoordinates and saw its map visualization.       RDF form well, or they can be slow, when for example the
This data could enhance his closed enterprise linked data            expert shows the result of each iteration to a customer and
containing a list of the company’s offices. It would then be         discusses what part of the source data is he going to transform
useful for the expert if he could just include the appropriate       next. Either way, it would be better to have a visualization
links from his dataset to the discovered one and see his offices     accompanying the data in each iteration, which would show
on a map in a generic visualization. It would be even better         how the data gets better and more detailed. Also, trying
if he could then refine this visualization instead of creating       to visualize the resulting data provides additional means of
another one from scratch.                                            validation of the transformation, e.g. when it is entities on
   In this paper we define the use cases which have the po-          a map, it is always better to see the result on a map than
tential to help Linked Data experts in their work. Then              just an RDF text file. On the other hand, the visualization
we briefly describe our Linked Data Visualization Model              method needs to be quick and easy and not custom made
(LDVM) [4] and show its new implementation, using which              for the data, because the data between iterations is only
we demonstrate that the use cases can be executed, which is          temporary as it lasts only until it gets improved in the next
the main contribution of this paper. We will demonstrate our         iteration. However, this is made possible by the Linked
approach using the datasets we prepare in our OpenData.cz            Data vocabulary reuse principle, all we need is a library of
initiative, which can be seen in Figure 1, namely Institutions       components supporting standard vocabularies and usage of
of Public Power (OVM3 ) and registry of land identification,         the vocabularies in the data, which is a well known best
addresses and properties of the Czech Republic (RUIAN4 ).            practice. Finally, when developing advanced visualizations,
   This paper is structured as follows. In Section 2 we define       the designer can start with the automatically offered one and
the use cases we want to support by our approach. In Sec-            refine it instead of starting from scratch.
tion 3 we briefly describe the principles and basic concepts of         An example of this use case is that when a dataset con-
LDVM. In Section 4 we introduce our new proof–of–concept             taining a hierarchy is provided, then a visualization using a
LDVM implementation and describe its components and re-              hierarchy visualizer should be offered and it should display
lation to LDVM. In Section 5 we show a sample visualization          some meaningful data from the source dataset. To be spe-
pipeline. In Section 6 we show how we use our implementa-            cific, we will show this use case on a dataset that contains a
tion to support the defined use cases. In Section 7 we survey        hierarchy or regional units ranging from individual address
related work and in Section 8 we conclude.                           points to the whole country.

2.      MOTIVATING USE CASES                                         2.2    What Can I Combine My Data With To
                                                                            See More
  In this section we motivate our work using a series of use
cases with which we aim at helping Linked Data experts in               The second use case is to show which additional visualiza-
various stages of their work.                                        tions of the input data can be used when the data is simply
                                                                     linked to another dataset. One motivation of this use case is
2.1      What Can I See in the Given Data                            to visually prove the value of linking by showing the addi-
                                                                     tional visualization options gained by it. Another motivation
   The first use case is to show possible visualizations of data
                                                                     is the expert in a modern company that has its internal
in a given dataset. The dataset must be given in an easy
                                                                     linked data and wants to see the improvement gained by
way - using either a link to an RDF dump or using direct
                                                                     linking it to the public LOD cloud. For this use case the user
RDF file upload, or using a link to a SPARQL endpoint that
                                                                     should be able to provide his data easily as in the previous
contains the data. The result should be a list of possible
                                                                     use case. This time he is interested in seeing which additional
visualizations that could be meaningful for the dataset. When
                                                                     visualizations of his data he can use when he linked his data
the user clicks on a possible visualization, he should see his
                                                                     to another dataset. The result should again be a list of pos-
data visualized by the selected technique, e.g. on a map,
                                                                     sible visualizations which, however, use not only the input
using a hierarchy visualizer, etc. This use case has several
                                                                     dataset, but also some other to achieve a better visualization.
motivations. Firstly, one should be able to quickly sample a
                                                                     For example, a dataset with addresses of public institutions,
previously unknown dataset that may be potentially useful
                                                                     linked to a geocoded dataset of all addresses yields a map
based on its textual description such as the one on http:
                                                                     visualization with no additional effort.
//datahub.io. Another motivation for this use case is the
need to be able to quickly and easily show someone what can          2.3    What Data Can I Visualize Like This
be done with his data in RDF. In addition, this use case can
help Linked Data experts even during the process of Linked              The third use case is a reverse one compared to the previ-
Data creation which usually happens in iterations. In the first      ous two. It is to show datasets or their combinations which
iteration of creating Linked Data an expert usually writes           can be visualized using a selected visualizer. The motivation
a transformation of some basic information about entities            for this use case is that the user sees a visualization that he
in the source data such as their names and types. Then he            likes and he wants to prepare his data so that it is compati-
reviews the created RDF data, selects another portion of             ble with the visualization. For that he wants to see which
the source data, amends his transformation, executes it and          other datasets possibly combined with some transformations
again observes the resulting, more detailed RDF data. He             use this visualization. For this use case the user selects a
repeats this process until all of the source data, or at least the   visualization and he should get a list of data sets possibly
desired parts, is transformed to RDF. The iterations can be          with transformations which can be visualized by the selected
                                                                     visualizer. For example, the user selects a map visualizer
3
    http://datahub.io/dataset/cz-ovm                                 and he should see that a dataset with a list of cities can be
4
    http://datahub.io/dataset/cz-ruian                               visualized this way.
3.    LINKED DATA VISUALIZATION MODEL                            out component combinations that do not make any sense
   To realize the use cases defined in the previous section      and to help the users to use the right components before
we will use a new implementation of our Linked Data Visu-        they actually run the pipeline. Therefore, we need a way to
alization Model (LDVM), which we defined and refined in          check the compatibility without the actual data.
our previous work [4, 6, 8]. It is an abstract visualization        Each LDVM component has a set of features, where each
process customized for the specifics of Linked Data. In short,   feature represents a part of the expected component func-
LDVM allows users to create data visualization pipelines that    tionality. A component feature can be either mandatory or
consist of four stages: Source Data, Analytical Abstraction,     optional. For example, a visualizer that displays points and
Visualization Abstraction and View. The aim of LDVM is           their descriptions on a map can have 2 features. One feature
to provide means of creating reusable components at each         represents the ability to display the points on a map. This
stage that can be put together to create a pipeline even         one will be mandatory, because without the points, the whole
by non-expert users who do not know RDF. The idea is to          visualization lacks purpose. The second feature will represent
let expert users to create the components by configuring         the ability to display a description for each point on the map.
generic ones with proper SPARQL queries and vocabulary           It will be optional, because when there is no data for the
transformations. In addition, the components are configured      description, the visualization still makes sense - there are
in a way that allows the LDVM implementation to automat-         still points on a map. Whether a component feature can be
ically check whether two components are compatible or not.       used or not depends on whether there is the data needed for
If two components are compatible, then the output of one         it on the input. Therefore, each feature is described by a set
can be connected to the input of the other in a meaningful       of input descriptors. An input descriptor describes what is
way. With these components and the compatibility checking        expected on the inputs of the component. In this paper we
mechanism in place, the visualization pipelines can then be      use a set of SPARQL queries for the descriptor. We could
created by non-expert users.                                     also consider other forms of descriptors, but that is not in
                                                                 the scope of this paper. A descriptor is applied to certain
3.1    Model Components                                          inputs of its component.
   There are four stages of the visualization model populated       In order to evaluate the descriptors in design time, we
by LDVM components. Source Data stage allows a user              require that each LDVM component that produces data (data
to define a custom transformation to prepare an arbitrary        source, analyzer, transformer) also provides a sample of the
dataset for further stages, which require their input to be      resulting data, which is called an output data sample. For the
RDF. In this paper we only consider RDF data sources such        data sample to be useful, it should be as small as possible,
as RDF files or SPARQL endpoints, e.g. DBPedia. The              so that the input descriptors of other components execute as
LDVM components at this stage are called data sources.           fast as possible on this sample. Also, it should contain the
The Analytical Abstraction stage enables the user to specify     maximum amount of classes and properties whose instances
analytical operators that extract data to be processed from      can be produced by the component, making it as descriptive
one or more data sources and then transform it to create         as possible. For example, when an analyzer transforms data
the desired analysis. The transformation can also compute        about cities and their population, its output data sample will
additional characteristics like aggregations. For example, we    contain a representation of one city with all the properties
can query for resources of type dbpedia-owl:City and then        that the component can possibly produce. Note that, e.g.
compute the number of cities in individual countries. The        for data sources, it is possible to implement the evaluation
LDVM components at this stage are called analyzers. In the       of descriptors over the output data sample as evaluation
Visualization Abstraction stage of LDVM we need to prepare       directly on the represented SPARQL endpoint. For other
the data to be compatible with the desired visualization         components, fast evaluation can be achieved by using a static
technique. We could have prepared the analytical abstraction     data sample.
in a way that is directly compatible with a visualizer. In          We say that a feature of a component in a pipeline is
that case, this step can be skipped. However, the typical        usable when all queries in all descriptors are evaluated true
use case for Visualization Abstraction is to facilitate reuse    on their respective inputs. A component is compatible with
of existing analyzers and existing visualizers that work with    the mapping of outputs of other components to its inputs
similar data, only in different formats. For that we need to     when all its mandatory features are usable. The usability of
use a LDVM transformer. In View stage, data is passed to         optional features can be further used to evaluate the expected
a visualizer, which creates a user-friendly visualization. The   quality of the output of the component. For simplicity, we
components, when connected together, create a analytic and       do not elaborate on the output quality in this paper. The
visualization pipeline which, when executed, takes data from     described mechanism of component compatibility can be used
a source and transforms it to produce a visualization at the     in design time for checking of validity of the visualization
end. Not every component can produce meaningful results          pipeline. It can also be used for suggestions of components
from any input. Typically, each component is designed for        that can be connected to a given component output. In
a specific purpose, e.g. visualizing map data, and therefore     addition, it can be used in run time for verification of the
it does not work with other data. To create a meaningful         compatibility using the actual data that is passed through
pipeline, we need compatible components.                         the pipeline. Finally, this concept can be also used for
                                                                 periodic checking of data source content, e.g. whether the
3.2    Component Compatibility                                   data has changed its structure and therefore became unusable
                                                                 or requires pipeline change. For a detailed description and
   Now that we described the four basic types of LDVM
                                                                 thorough examples of compatibility checking on real world
components, let us take a look at the notion of their compati-
                                                                 data see our previous paper [8].
bility, which is the key feature of LDVM. We want to use the
checking of component compatibility in design time to rule
                                                 Figure 2: LDVM Vocabulary


4.   ARCHITECTURE OF THE NEW LDVM                                   we have devised a vocabulary for LDVM. In Figure 2 there is
     IMPLEMENTATION                                                 a UML class diagram depicting the structure of the LDVM
                                                                    vocabulary. Boxes represent classes, edges represent object
   In our previous LDVM implementation version Payola [7]           properties (links) and properties listed inside of the class
we had the following workflow. First, the pipeline designer         boxes represent data properties. The architecture of our new
registered the data sources he was planning to use, if they         implementation corresponds to the vocabulary. The data
were not already registered. Then he started to create an           entities correspond to software components and their config-
analysis by selecting data sources and then added analyzers
                                                                    uration. We chose the ldvm5 prefix for the vocabulary. The
and transformers to the analytic pipeline. Then the pipeline        vocabulary and examples are developed on GitHub6 . Let us
was executed and when done, the pipeline designer selected          now briefly go through the individual parts of the vocabulary,
an appropriate visualizer. There were no hints of which             which correspond to parts of the LDVM implementation
visualizer is compatible with the result of the analysis and this
                                                                    architecture.
workflow contained unnecessary steps. The pipeline and its
components existed only inside Payola with no means of their        4.1      Templates and Instances
creation and management from the outside. Nevertheless it
                                                                       In Figure 2 there are blue and green (dashed) classes.
demonstrated some advantages of our approach. It showed
                                                                    The blue classes belong to template level of the vocabulary
that pipelines created by expert users can be reused by lay
                                                                    and green classes belong to the instance level. These two
users and the technical details can be hidden from them.
                                                                    levels directly correspond to two main parts of the LDVM
It also showed that results of one analysis can be used by
                                                                    implementation. At the template level we register LDVM
various visualizers and also it showed that one analysis can
                                                                    components as abstract entities described by their inputs,
run on various data sources.
                                                                    outputs and default configuration. At the instance level we
   In our new implementation of LDVM we aim for having
                                                                    have a pipeline consisting of interconnected specific instances
individual components running as independent web services
                                                                    of components and their configurations. The easiest way to
that accept configuration and exchange information needed
                                                                    imagine the division is to imagine a pipeline editor with a
to get the input data and to store the output data. Also
                                                                    toolbox. In the toolbox, there are LDVM component tem-
we aim for easy configuration of components as well as easy
                                                                    plates and when a designer wants to use a LDVM component
configuration of the whole pipeline. In accordance with the
                                                                    in a pipeline, he drags it onto the editor canvas, creating an
Linked Data principles, we now use RDF as the format for
                                                                    instance. There can be multiple instances of the same LDVM
storage and exchange of configuration so that any code that
works with RDF can create, maintain and use LDVM com-               5
                                                                        http://linked.opendata.cz/ontology/ldvm/
                                                                    6
ponents both individually and in a pipeline. For this purpose           https://github.com/payola/ldvm
component template in a single pipeline, each with a different    laries. It can be even linked to other datasets according to
configuration that overrides the default one. The template        the Linked Data principles. Therefore it is not a trivial task
holds the input descriptors and output data samples which         to determine the boundaries of the configuration data in the
are used for the compatibility checking together with the         RDF data graph in general. On the other hand, each com-
instance input and output mappings. Each instance is con-         ponent knows precisely what is expected in its configuration
nected to its corresponding template using the instanceOf         and in what format. This is why we need each component
property.                                                         to provide a SPARQL query that can be used to obtain
                                                                  its configuration data so that the LDVM implementation
4.2    Component Types                                            can extract it. That SPARQL query is connected to every
   There are four basic component types as described in           configuration using the mandatory configurationSPARQL
Section 3.1 - data sources, analyzers, transformers and visu-     property.
alizers. They have their representation on both the template
level - descendants of the ComponentTemplate class - and in-      4.6    Pipeline
stance levels - descendants of the ComponentInstance class.          Finally, the pipeline itself is represented by the Pipeline
From the implementation point of view, transformers are just      class instance. It links to all the instances of LDVM compo-
analyzers with one input and one output, so the difference        nents used in the pipeline. Another feature supporting col-
is purely semantic. This is why transformers are subclass of      laboration of expert and non-expert users is pipeline nesting.
analyzers.                                                        An expert can create a pipeline that is potentially complex in
                                                                  number of components, their configuration and binding, but
4.3    Data Ports                                                 could be reused in other pipelines as a black box data source,
  Components have input and output data ports. On the             analyzer or transformer. As this feature is not important in
template level we distinguish the inputs and outputs of a         this paper, we do not further describe it. It is sufficient to say
component. To InputDataPortTemplate the input descrip-            that the nestedPipeline and nestedBoundTo properties of
tors of features can be applied. OutputDataPortTemplate           LDVM serve this purpose.
has the outputDataSample links to the output data samples.
Both are subclasses of DataPortTemplate. The data ports           4.7    Component Compatibility Checking
are mapped to each other - output of one component to                The component compatibility checks (see Section 3.2) are
input of another - as instances of DataPortInstance using         exploited in various places. The checks can happen during
the boundTo property. This data port instance mapping             run time when the actual data passed between components
forms the actual visualization pipeline which can be then exe-    is verified as it is passed along the pipeline. They can also
cuted. Because data ports are not LDVM components, their          happen in scheduled intervals when existing pipelines are
instances are connected to their templates using a separate       re-checked to determine possible changes in data sources that
property dataPortInstanceOf.                                      can cause pipelines to stop being executable. This can be
                                                                  easily used for verification of datasets that change frequently.
4.4    Features and Descriptors                                   Another usage of the checks is during design of a pipeline in a
   On the template level, features and descriptors (see Sec-      future pipeline editor, which is not implemented yet, when a
tion 3.2) of components are represented. Each component           user wants to connect two components in a pipeline. However,
template can have multiple features connected using the           the most valuable usage of component compatibility checking
feature property. The features themselves - instances of          is in the pipeline discovery algorithm.
either the MandatoryFeature class or the OptionalFeature
class - can be described using standard Linked Data tech-         4.8    Pipeline Discovery Algorithm
niques and vocabularies such as dcterms and skos. Each               The pipeline discovery algorithm is used to generate all
feature can have descriptors, instances of Descriptor con-        possible pipelines based on a set of datasets and is therefore
nected using the descriptor property. The descriptors have        the core functionality for this paper and the use cases it
their actual SPARQL queries as literals connected using the       demonstrates. It is inspired by the classical Breadth-first
query property. In addition, the input data port templates        search (BFS) algorithm where, simply put, an edge between
to which the particular descriptor is applied are denoted         two nodes representing LDVM components in a pipeline ex-
using the appliesTo property.                                     ists if and only if the descriptor of the second one matches
                                                                  the output data sample of the first one. The edge then repre-
4.5    Configuration                                              sents the possibility to pass data from the output of the first
   Now that we have the LDVM components, we need to               component to the input of the second component. The algo-
represent their configuration. On the template level, com-        rithm works in iterations and builds up pipeline fragments
ponents have their default configuration connected using          in all compatible combinations. We will demonstrate it on
the componentConfigurationTemplate property. On the               an example of two data sources (RUIAN, Institutions), a
instance level, components point to their configuration using     RUIAN geocoder analyzer, which takes two inputs, a Towns
the componentConfigurationInstance property when it is            extractor, and a Google Maps visualizer.
different from the default one. The configuration itself is the      It starts with the inputs of all available LDVM components
same whether it is on the template level or the instance level    (analyzers, transformers, visualizers) checking selected data
and therefore we do not distinguish the levels here and we        sources, which form trivial, one member pipeline fragments.
only have one class ComponentConfiguration.                       In Figure 3 we can see the trivial fragments in the top
   The structure of the configuration of a LDVM component         right part. In the first step every available component is
is completely dependent on what the component needs to            checked with each selected data source. When a component’s
function. It is also RDF data and it can use various vocabu-      input is compatible with the output of the last component
                                                                 ented from leaves to root where leaves are data sources and
                                                                 the root is the visualizer. Of course the complexity of this
                                                                 algorithm raises with the number of components and data
                                                                 sources to check. On the other hand the compatibility checks
                                                                 greatly reduce the number of possibilities and leave only the
                                                                 compatible ones. A more rigorous measurements of time
                                                                 consumed are part of our future work.

                                                                 4.9    Component implementations
                                                                   Note that we have not talked about the actual LDVM
                                                                 component implementations yet, only templates, which are
                                                                 abstract descriptions and default configurations, and instance,
                                                                 which are representations in a pipeline with inputs and out-
                                                                 puts bound to other components. Our vision is to have
                                                                 LDVM component implementations as standalone web ser-
                                                                 vices configurable by RDF, reusable among LDVM instances
                                                                 and other applications. They would live separately from our
                                                                 LDVM implementation instance, which would then serve
       Figure 3: Pipeline discovery iteration 1                  only as a pipeline editor, catalog and launcher (see Figure 6).
                                                                 The components would register to the LDVM instance with
                                                                 access data and a link to LDVM templates that can be
of a pipeline fragment (output of a data source in the first     processed using this component implementation. The RDF
iteration), it is connected. A successful check is denoted by
a green arrow and a unsuccessful one with a red arrow.
   When all of the components inputs are connected, the com-
ponent is added to the pipeline fragment and this fragment
gets checked again by all LDVM component inputs in the
next iteration. This is visible in Figure 4 – a pipeline frag-
ments from iteration 1 ending with the RUIAN geocoder are
not checked until both inputs of the geocoder are connected,
which happens in iteration 2 and 3. When the algorithm
reaches a visualizer and binds all of its inputs, the pipeline
fragment leading to this visualizer is saved as a possible
pipeline. This happens in Figure 3 with the 2 member
pipeline and in Figure 4 iterations 3 and 4. When there are
no new pipeline fragments to consider in the next algorithm
iteration, we have generated all possible pipelines and the
algorithm ends. In the example we generated 3 pipelines.
Note that the generated pipelines are in a form of trees ori-


                                                                 Figure 6: LDVM implementation and LDVM com-
                                                                 ponents

                                                                 configuration sent to the component implementation would
                                                                 contain the actual component instance configuration together
                                                                 with access information for getting input data, storing out-
                                                                 put data and a callback URL for sending execution result
                                                                 information. The execution result information would include
                                                                 the status (success, failure) and optionally logs to be dis-
                                                                 played to the pipeline user. However, the complete freedom
                                                                 of the components is not a trivial development task, so it
                                                                 still remains a part of our future work. Now, the actual
                                                                 component implementations we use run on the same machine
                                                                 as the LDVM implementation and we have a hard coded list
                                                                 of which components can process which LDVM component
                                                                 templates. Nevertheless, this implementation limitation does
                                                                 not affect the use cases we show in this paper.

                                                                 5.    LDVM PIPELINE EXAMPLE
                                                                   Let us now briefly demonstrate how a simple LDVM
                                                                 pipeline looks like from the data point of view. See Fig-
   Figure 4: Pipeline discovery - more iterations                ure 5. Again, we will have blue for template level and green
                                            Figure 5: Sample LDVM Pipeline


(dashed) for instance level. The instance level is simpler,      We are still in early stages of the new implementation, it
let us start with it. On the bottom we have a pipeline,          runs at http://ldvm.opendata.cz and all the mentioned
which points to LDVM component instances that belong to          LDVM components should be loaded there. The use cases
the pipeline via the ldvm:member property. It is a simple        from this section should be executable there and anyone can
pipeline consisting of one data source, one analyzer and a       experiment with any SPARQL endpoint or RDF data that
visualizer. The data source instance is configured to access     is compatible with the loaded components.
our RUIAN SPARQL endpoint and it is an instance of a
generic SPARQL endpoint data source template. The ana-
lyzer instance extracts information about Czech towns from
the data source, which contains far more information. The
descriptor of the analyzer’s feature Input contains Towns is
a SPARQL ASK query which checks for presence of a data
source with towns information and is applied to the input
data port template of the analyzer. The output data port
template of the analyzer has a link to an output data sample,
which is a Turtle file containing data about one Czech town
as a sample. This brings us to the Google Maps visualizer,
which only has input data port template with one feature
and a descriptor checking for presence of geocoordinates in
its input data. Note that the data port binding is done on                    Figure 7: Endpoint selection
the instance level, which is what will be seen and edited in a
pipeline editor. On the other hand, features, descriptors and
output data samples are all on the template level. Because       6.1    What Can I See in the Given Data
RUIAN includes geocoordinates for each entity, the resulting        In this use case we are in the role of a Linked Data expert
visualization shows towns in the Czech Republic on a map.        that has a link to a dataset and wants to quickly see what
                                                                 can be seen in it. The actual offered visualizations depend
                                                                 solely on the set of analyzers, transformers and visualizers
6.   REALIZATION OF USE CASES                                    present in the LDVM instance. We assume that the expert
   In our new proof–of–concept implementation of LDVM            has his LDVM instance populated with components that he
(LDVMi) we aim at a more straight forward workflow utiliz-       plans to use and he checks a potentially useful dataset he
ing the compatibility checking feature of LDVM. The goal         has a link to. For the realization of this use case we will use
is to provide the user with some kind of a meaningful vi-        the RUIAN dataset. It contains a lot of data among which
sual representation of his data as easily as possible. This      is a hierarchy of regional units ranging from address points
means that the user specifies the location of his data and       to the whole country modeled using SKOS. We have a link
that should be all that is needed to show some initial visu-     to the dataset in a SPARQL endpoint, so we point to it (see
alizations. This is achieved by our compatibility checking       Figure 7). Next, we see the list of possible pipelines based
mechanism (see Section 3.2) using which we generate all pos-     on the evaluation of compatibility with the endpoint, see
sible pipelines that can be created using the data sources and   Figure 8. We can see that there are 3 pipelines. We can
LDVM components registered in the used LDVM instance.            also see their data sources, their visualizer, and in between
                                                                                     Figure 10: File upload


            Figure 8: Possible pipelines list                    of Public Power from DataHub.io. This could also be an
                                                                 internal dataset of a company. Note that we will also add
                                                                 the schema of the data for better filtering in the visualizer,
the number of analyzers the pipeline contains. The first two     which would, however, typically be in the second iteration
end with a Google Map visualizer – the dataset contains          after we found out that without it, we cannot filter properly
geocodes for all objects – and the third one with a TreeMap      in the visualizer, but we would still see the towns on the map.
hierarchy visualization, which means that a hierarchy was        The dump and schema are in TriG serialization, which is not
found in our dataset and it can be visualized. We select         yet supported, however it is easy to convert it to Turtle. We
the third pipeline and we see the hierarchy as in Figure 9.      upload the schema7 , the links8 to the RUIAN dataset and
This proves that using a LDVM instance populated with            the data in Turtle9 as in Figure 10. After the file upload is
                                                                 finished, we see the possible pipelines as in Figure 11. Note




                                                                 Figure 11: Possible pipelines for dataset combina-
                                                                 tion

                                                                 that this pipeline discovery is the same as in the example in
                                                                 4.8 with one difference. There, the algorithm searched for all
                                                                 pipelines that could be created from the two datasets, which
Figure 9: Treemap visualization of a simple hierar-              included a direct visualization of RUIAN on a map. Here,
chy                                                              the discovery algorithm does not return this pipeline because
                                                                 it searches for pipelines that visualize the linked dataset in
a set of LDVM components, we can easily check whether            combination with other data sources. Therefore, we have two
a given dataset contains usable data and see some initial        possibilities of how to see our newly linked dataset on a map.
results quickly. This is thanks to the static data samples       One is applying the RUIAN Towns geocoder to the linked
and SPARQL ASK based descriptors. As part of our future          dataset and takes the whole RUIAN data source as the other
work we will do rigorous measurements to see the response        input. This one, while theoretically possible, is not usable in
times according to number of components and number and           our current implementation because the whole RUIAN data
complexity of descriptors.                                       source is large (600M triples) and contains tens of thousands
                                                                 of entities of various types. This is why we will choose the
6.2   What Can I Combine My Data With To                         other possible pipeline, which, in addition, runs the RUIAN
      See More                                                   data through RUIAN Towns extractor analyzer, which filters
   We assume that we have the RUIAN data source and Maps         out data about other RUIAN entities. The chosen pipeline
visualizer registered in our LDVM instance. In addition, we      can be seen in Figure 12. All that is left is to evaluate the
will have a RUIAN Towns geocoder analyzer registered, which      pipeline (press the Run button) and display the resulting
takes a list of towns from RUIAN (reference dataset) on one      visualization that can be seen in Figure 13. The filtering of
input and the dataset linked to RUIAN (linked dataset) on        7
                                                                     http://opendata.cz/ldvm/ovm-vocab.ttl
the other input. It outputs the linked dataset enhanced with     8
                                                                   https://raw.githubusercontent.com/payola/ldvm/master/rdf/
GPS geocoordinates of the entities from the reference dataset.   examples/ovm-obce-links.ttl
                                                                 9
For this use case, we will use our dataset of Institutions         http://opendata.cz/ldvm/ovm.ttl
                                                                   our LDVM instance. In this list, we will choose the desired
                                                                   visualizer such as the Google Map visualizer. There we click




                                                                           Figure 14: All pipelines using this visualizer

                                                                   the list pipelines using this visualizer button (see Figure 14)
                                                                   and we see the list of pipelines that contain it. This tells
                                                                   us the data sources and their possible transformations using
                                                                   analyzers and transformers that result in data that can be
Figure 12: The chosen pipeline combining datasets                  visualized by the chosen visualizer.


displayed institution of public power is possible thanks to        7.       RELATED WORK
the schema that we included in the beginning. Note that the           More and more projects are focused on analyzing, explor-
compatibility checks so far have a form of a query that checks     ing and visualizing Linked Data. For a more complete survey
for a presence of certain class and property instances in a        of various Linked Data visualization tools see our previous
dataset. E.g. in this use case, we determine the presence of       paper [8]. Here, we will focus on the most recent approaches.
links to RUIAN by presence of properties which we created          With the LDVM vocabulary and our new implementation
for linking to RUIAN objects in the RUIAN vocabulary and           we aim at an open web-services like environment that is
we rely on creators of other datasets that they will use these     independent of the specific implementation of the LDVM
properties when linking their data to RUIAN. What we do            components. This of course requires proper definition of
not check for at this time is whether the links in one dataset     interfaces and the LDVM vocabulary is the base for that.
lead to existing or valid objects in the second dataset, because   However, the other approaches so far usually aim at a closed
that would require non–trivial querying.                           browser environment. Those are similar to our Payola [7]
                                                                   in their ability to analyze and visualize parts of the Linked
                                                                   Data cloud. They do not provide configuration and descrip-
                                                                   tion using a reusable vocabulary and they do not aim at
                                                                   a more open environment with their implementation that
                                                                   would allow other applications to reuse their parts. Recent
                                                                   approaches include Hide the stack [5], where the authors
                                                                   describe a browser meant for end-users which is based on
                                                                   templates based on SPARQL queries. Also recent is LD-
                                                                   VizWiz [1], which is a very LDVM-like approach to detecting
                                                                   categories of data in SPARQL endpoints and extracting basic
                                                                   information about entities in those categories. An lightweight
                                                                   application of LDVM in enterprise is described in LinDa [10].
                                                                   Yet another similar approach that analyzes SPARQL end-
                                                                   points to generate faceted browsers is rdf:SynopsViz [3]. In
Figure 13: Maps visualization of linked dataset with               [2] the authors use their LODeX tool to summarize LOD
filtering                                                          datasets according to the vocabularies used.
                                                                      The most relevant related work to the specific topic of a
   This means that if someone connected a dataset of Ger-          vocabulary supporting Linked Data visualization is Fresnel
man towns represented using our RUIAN vocabulary to the            - Display Vocabulary for RDF [9]. Fresnel specifies how a
RUIAN geocoder analyzer together with the Czech Institu-           resource should be visually represented by Fresnel-compliant
tions of Public Power, he would get a compatible pipeline.         tools like LENA 10 and Longwell 11 . Therefore, Fresnel vo-
However, this pipeline would not produce any usable data           cabulary could be perceived as a vocabulary for describing
on evaluation as the two input datasets simply do not have         LDVM visualization abstraction. This is partly because the
matching contents. We will look into possibilities of checking     vocabulary was created before the Linked Data era and there-
for these situations in our future work.                           fore focuses on visualizing RDF data without considering
                                                                   vocabularies and multiple sources.
6.3    What Data Can I Visualize Like This
  In this use case we will find datasets that are visualizable     8.       CONCLUSIONS AND FUTURE WORK
by a specific visualizer. It is in fact a simple filter of all
                                                                   10
known possible pipelines that contain this visualizer. For              https://code.google.com/p/lena/
                                                                   11
this use case we go to the list of available components in              http://simile.mit.edu/issues/browse/LONGWELL
   In this paper we defined use cases that aid Linked Data         [3] N. Bikakis, M. Skourla, and G. Papastefanatos.
experts in various stages of their work and showed how we              rdf:SynopsViz – A Framework for Hierarchical Linked
can realize them using our implementation of the Linked                Data Visual Exploration and Analysis. In V. Presutti,
Data Visualization Model (LDVM). The first use case was                E. Blomqvist, R. Troncy, H. Sack, I. Papadakis, and
to easily show contents of a given dataset using LDVM                  A. Tordai, editors, The Semantic Web: ESWC 2014
components and mainly visualizers. The second use case was             Satellite Events, Lecture Notes in Computer Science,
to show for a given dataset with which other known datasets            pages 292–297. Springer International Publishing, 2014.
it can be combined to achieve a visualization. The third use       [4] J. M. Brunetti, S. Auer, R. Garcı́a, J. Klı́mek, and
case was to show which known datasets can be visualized                M. Nečaský. Formal Linked Data Visualization Model.
using a selected visualizer so that the expert can adjust his          In Proceedings of the 15th International Conference on
data accordingly. Then we briefly described LDVM and its               Information Integration and Web-based Applications &
vocabulary and implementation and our vision of LDVM                   Services (IIWAS’13), pages 309–318, 2013.
components as independent web services. Finally, we showed         [5] A.-S. Dadzie, M. Rowe, and D. Petrelli. Hide the Stack:
that using the LDVM implementation populated by LDVM                   Toward Usable Linked Data. In G. Antoniou,
components we are able to execute the defined use cases.               M. Grobelnik, E. Simperl, B. Parsia, D. Plexousakis,
   During our work we have identified multiple directions              P. De Leenheer, and J. Pan, editors, The Semantic
we should investigate further. When we evolve our LDVM                 Web: Research and Applications, volume 6643 of
implementation into a distributed system with components               Lecture Notes in Computer Science, pages 93–107.
as individual web services, many new opportunities will                Springer Berlin Heidelberg, 2011.
arise. We could be able to do load balancing, where we will        [6] J. Helmich, J. Klı́mek, and M. Nečaský. Visualizing
have multiple implementations running on multiple machines             RDF data cubes using the linked data visualization
able to process the same LDVM template and its instances.              model. In V. Presutti, E. Blomqvist, R. Troncy,
Also, the SPARQL implementations, while identical in prin-             H. Sack, I. Papadakis, and A. Tordai, editors, The
ciple, can be differentiated using various properties. One of          Semantic Web: ESWC 2014 Satellite Events - ESWC
those properties can be the actual SPARQL implementation               2014 Satellite Events, Anissaras, Crete, Greece, May
used as, from our experience, every implementation supports            25-29, 2014, Revised Selected Papers, volume 8798 of
SPARQL in a slightly different way or supports a slightly              Lecture Notes in Computer Science, pages 368–373.
different subset of it. Also, the same SPARQL query can run            Springer, 2014.
substantially faster on one implementation and substantially       [7] J. Klı́mek, J. Helmich, and M. Nečaský. Payola:
slower on another one, etc. Another direction to investigate           Collaborative Linked Data Analysis and Visualization
further is towards Linked Data Exploration – a process of              Framework. In 10th Extended Semantic Web
searching the Linked Data Cloud for datasets that contain              Conference (ESWC 2013), pages 147–151. Springer,
data that we can reuse. Our approach so far requires selecting         2013.
the dataset to investigate. However, that alone can be a non–
                                                                   [8] J. Klı́mek, J. Helmich, and M. Nečaský. Application of
trivial effort and using Linked Data Exploration we could
                                                                       the Linked Data Visualization Model on Real World
identify the datasets for LDVM processing based on some
                                                                       Data from the Czech LOD Cloud. In C. Bizer,
form of user requirements. Our closest goal of course is to
                                                                       T. Heath, S. Auer, and T. Berners-Lee, editors,
make our new LDVM implementation more user friendly and
                                                                       Proceedings of the Workshop on Linked Data on the
to develop a more presentable library of visualizers, analyzers
                                                                       Web co-located with the 23rd International World Wide
and transformers.
                                                                       Web Conference (WWW 2014), Seoul, Korea, April 8,
                                                                       2014., volume 1184 of CEUR Workshop Proceedings.
9.    ACKNOWLEDGMENTS                                                  CEUR-WS.org, 2014.
  This work was partially supported by a grant from the Eu-        [9] E. Pietriga, C. Bizer, D. R. Karger, and R. Lee.
ropean Union’s 7th Framework Programme number 611358                   Fresnel: A Browser-Independent Presentation
provided for the project COMSODE.                                      Vocabulary for RDF. In I. F. Cruz, S. Decker,
                                                                       D. Allemang, C. Preist, D. Schwabe, P. Mika,
                                                                       M. Uschold, and L. Aroyo, editors, The Semantic Web -
10.    REFERENCES                                                      ISWC 2006, 5th International Semantic Web
 [1] G. A. Atemezing and R. Troncy. Towards a                          Conference, ISWC 2006, Athens, GA, USA, November
     Linked-Data based Visualization Wizard. In O. Hartig,             5-9, 2006, Proceedings, volume 4273 of Lecture Notes in
     A. Hogan, and J. Sequeda, editors, Proceedings of the             Computer Science, pages 158–171. Springer, 2006.
     5th International Workshop on Consuming Linked Data          [10] K. Thellmann, F. Orlandi, and S. Auer. LinDA -
     (COLD 2014) co-located with the 13th International                Visualising and Exploring Linked Data. In Proceedings
     Semantic Web Conference (ISWC 2014), Riva del                     of the Posters and Demos Track of 10th International
     Garda, Italy, October 20, 2014., volume 1264 of CEUR              Conference on Semantic Systems - SEMANTiCS2014,
     Workshop Proceedings. CEUR-WS.org, 2014.                          Leipzig, Germany, 9 2014.
 [2] F. Benedetti, S. Bergamaschi, and L. Po. Online Index
     Extraction from Linked Open Data Sources. In A. L.
     Gentile, Z. Zhang, C. d’Amato, and H. Paulheim,
     editors, Proceedings of the 2nd International Workshop
     on Linked Data for Information Extraction (LD4IE),
     number 1267 in CEUR Workshop Proceedings, pages
     9–20, Aachen, 2014.