<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>City Data Pipeline</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stefan Bischof</string-name>
          <email>bischof.stefan@siemens.com</email>
          <email>stefan.bischof@tuwien.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Axel Polleres</string-name>
          <email>axel.polleres@siemens.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simon Sperl</string-name>
          <email>simon.sperl@siemens.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Siemens AG O</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Vienna University of Technology</institution>
          ,
          <addr-line>Favoritenstraße 9, 1040 Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <fpage>45</fpage>
      <lpage>49</lpage>
      <abstract>
        <p>Some cities publish data in an open form. But even more cities can profit from the data that is already available as open or linked data. Unfortunately open data of different sources is usually given also in different heterogeneous data formats. With the City Data Pipeline we aim to integrate data about cities in a common data model by using Semantic Web technologies. Eventually we want to support city officials with their decisions by providing automated analytics support.</p>
      </abstract>
      <kwd-group>
        <kwd>open data</kwd>
        <kwd>data cleaning</kwd>
        <kwd>data integration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Nowadays governments have a big arsenal of data available for decision support.
But also city administrators need this kind of data to make better decisions and
policies for leading cities to a greener, smarter, and more sustainable future.
Having access to correct and current data is crucial to advance on these goals.
Printed documents like the Green City Index [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] are helpful, but outdated soon
after publication, thus making a regularly updated data store necessary.
      </p>
      <p>Even though there is lots of data available as open data, it is still cumbersome
to collect, clean, integrate, and analyze data from different sources, with different
specifications, written in different languages, and stored in different formats.
Sources of city data can be widely known linked open data sources like DBpedia,
Geonames, or Eurostat via Linked Statistics. Urban Audit3 for example, provides
almost 300 indicators on several domains for 258 European cities. But there are
also many smaller data sources which provide data in a narrow domain only, like
oil prices or stock exchange rates. Furthermore several larger cities provide data
from their own databases, e.g., London4, Berlin5, or Vienna6. Data is available
in different formats following different data models. One can find data in RDF,
XML, CSV, RTF, XLS, or HTML. The specification of the individual data fields</p>
      <sec id="sec-1-1">
        <title>3 http://www.urbanaudit.org/ 4 http://data.london.gov.uk/ 5 http://daten.berlin.de/ 6 http://data.wien.gv.at/</title>
        <p>is often implicit only (in free text documents) and has to be processed manually
for understanding. Small and medium sized cities often do not have the resources
to handle these kinds of data heterogeneity and thus often miss relevant data.</p>
        <p>With the City Data Pipeline we aim at providing an extensible platform
to support citizens and city administrators by providing city key performance
indicators (KPIs) based on diverse publicly available open data sources.</p>
        <p>
          The project QuerioCity [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] uses partly similar techniques, but does not
include an analytics component which is one of the main features of our system.
2
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Architecture and Main Features</title>
      <p>The City Data Pipeline collects data, organizes this data into indicators, and
shows these indicators to the user. The system is organized in several layers
which this section explains in more detail: crawler, wrapper components,
semantic integration, data storage, analytics, and user interface (see Figure 1).
Crawler. The City Data Pipeline (semi-)automatically collects data from
various registered open data sources in a periodic manner dependent on the specific
source. The crawler currently collects data from 32 different sources, e.g.,
DBpedia, UN open data, Urban Audit, as well as datasets of several cities. Adding
new data sources is a semi-automatic process where manual effort is necessary.</p>
      <p>GIS
Database
Clustering
Map UI</p>
      <p>Wrapper
components
Semantic
Integration</p>
      <p>Data
Storage</p>
      <p>Integration
Component</p>
      <p>RDF</p>
      <p>Triple Store
CSV</p>
      <p>RDF</p>
      <p>HTML</p>
      <p>RTF</p>
      <p>XLS</p>
      <p>GML</p>
      <p>OSM
Crawler</p>
      <p>Extensible
City Data Model
RDFS Reasoner</p>
      <p>SPARQL Engine
Analytics</p>
      <p>Aggregation</p>
      <p>Interpolation
UI &amp; API</p>
      <p>Web UI</p>
      <p>REST API
Wrapper components. As a first step of data integration, a set of wrapper
components parses the downloaded data and converts it to a source specific RDF.</p>
      <p>The set of wrapper components include a CSV wrapper to parse and clean
CSV data, a wrapper for extracting HTML tables, a wrapper for extracting
tables of RTF documents, a wrapper for Excel sheets, and a wrapper for cleaning
RDF data as well. All of these wrappers are customizable to cater for diverse
source-specific issues. These wrapper components convert the data to RDF and
preprocess the data before integrating the data with the existing triple store.
Preprocessing contains the usual data cleansing tasks, unit conversions, number
and data formatting, string encoding, and filtering invalid data.</p>
      <p>
        Furthermore there is an OpenStreetMap (OSM) wrapper and a wrapper for
GML [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] data, to feed the geographic information system (GIS) database.
Semantic integration. To be able to access a single KPI such as the
population number, which is provided by several data sources, the semantic integration
component unifies the vocabulary used by the different data sources. The
semantic integration component is partly implemented in the individual wrappers and
partly by an RDFS [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] ontology (extended with capabilities for reasoning over
numbers by using equations [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]) called City Data Model. The ontology covers
several aspects: spatial context (country, region, city, district), temporal context
(validity, date retrieved), provenance (data source), terms of usage (license), and
an extensible list of indicators for cities. For each indicator the ontology
contains descriptions and a reference to an indicator category, e.g., Demography. To
integrate the source specific indicators the ontology maps data source specific
RDF properties to City Data Model properties, e.g., it maps dbpedia:population
to citydata:population by an RDFS subPropertyOf property.
      </p>
      <p>
        Data storage. For storing the processed data we use Jena TDB7 as triple store
for RDF data, and PostGIS/PostgreSQL as a GIS database for geographic
information. GIS databases allow us to compute missing information such as areas of
cities or districts, or lengths of certain paths. Subsequent subsystems can access
the RDF data via a SPARQL interface. The SPARQL engine provides RDFS
reasoning support by query rewriting (including reasoning over numbers [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]).
Analytics. When integrated, open data contains incomplete data. Different tools
in the analytics layer try to complete data by using statistical or simple algebraic
methods. The analytics layer also includes tools for value aggregation as well as
clustering of similar cities. We plan to extend the analytics part to allow in-depth
analysis of city data to reveal hidden relationships.
      </p>
      <p>User interface and API. Figure 2 shows the simple Java powered web
interface. The interface also provides programmatic access via HTTP GET and
HTTP POST to allow external tools such as data visualization frameworks,
to query the database. The web application communicates with the Jena triple
store via SPARQL 1.1 by using the Jena API directly.</p>
      <sec id="sec-2-1">
        <title>7 http://jena.apache.org/documentation/tdb/</title>
        <p>Users can select one or more of the 475 indicators from a list sorted by
categories like Demography, Geography, Social Aspects, or Environment. The list also
shows how many data points are available per indicator and for how many cities
data points are available for this indicator. Next the user can select one or several
of the 350 European cities for which we collected data. For a few cities we even
have information on the individual districts available. In these cases the user can
select one or several of the districts. Optionally the user can specify a temporal
context, for which year the database should be queried. This feature allows to
compare several cities with each other at a certain point of time instead of
listing data of all available times. The user interface also allows the computation of
complex KPIs. These KPIs are specified by a set of formulas in an Excel sheet
and are computed on demand. Finally the system can output the query results
as HTML report but also as XML document for further processing. With the
XML export option, the web application can actually be used straightforwardly
by external tools, providing for example more sophisticated visualization. One
visualizer of this kind is already implemented, showing selected data points for
different cities on an interactive world map.</p>
        <p>Currently the City Data Pipeline stores an average of 285 data points per
city. Since bigger cities tend to have a wider coverage of domains, with finer
granularity of time and space, the number of available data points per city is
unequally distributed. While we are currently not able to provide data, ontology,
or web interface for public access, we hope this changes in the future.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusions and Outlook</title>
      <p>The City Data Pipeline provides seamless access to indicators of over 30 open
data providers. The system integrates data from different domains, in different
formats with different data models. The City Data Pipeline allows querying and
comparing indicators for many European cities thus making analytics easier.</p>
      <p>Currently we are working on more methods for estimating missing values and
predicting selected indicators based on multiple criteria. For this purpose and
other kinds of data analytics we extend the data mining tool RapidMiner8.</p>
      <p>Furthermore we are in the process of improving the user interface to make
the application more intuitive. For this purpose we use the Google Web Toolkit
together with several libraries for more advanced information visualization like
different kinds of interactive charts or world maps.</p>
      <p>Acknowledgements. Stefan Bischof has been partially funded by the Vienna
Science and Technology Fund (WWTF) through project ICT12-015.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bischof</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polleres</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>RDFS with Attribute Equations via SPARQL Rewriting</article-title>
          . In: Cimiano,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Corcho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Presutti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Hollink</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Rudolph</surname>
          </string-name>
          , S. (eds.)
          <article-title>The Semantic Web: Semantics and Big Data, LNCS</article-title>
          , vol.
          <volume>7882</volume>
          , pp.
          <fpage>335</fpage>
          -
          <lpage>350</lpage>
          . Springer Berlin Heidelberg (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Brickley</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guha</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , (eds.):
          <source>RDF Vocabulary Description Language 1</source>
          .0:
          <string-name>
            <given-names>RDF</given-names>
            <surname>Schema. W3C Recommendation</surname>
          </string-name>
          (
          <year>2004</year>
          ), http://www.w3.org/TR/rdf-schema/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Economist Intelligence Unit (ed.):
          <article-title>The Green City Index</article-title>
          .
          <source>Siemens AG</source>
          (
          <year>2012</year>
          ), http://www.siemens.com/press/pool/de/events/2012/corporate/ 2012-06-rio20/gci-report-e.pdf
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. ISO:
          <article-title>Geographic information - Geography Markup Language (GML)</article-title>
          .
          <source>ISO standard 19136</source>
          , International Organization for Standardization (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Lopez</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotoulas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sbodio</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stephenson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gkoulalas-Divanis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aonghusa</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Queriocity: A linked data platform for urban information management</article-title>
          . In: Cudr´e-Mauroux,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Heflin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Sirin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Tudorache</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Euzenat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Hauswirth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Parreira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Hendler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Schreiber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Bernstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Blomqvist</surname>
          </string-name>
          , E. (eds.)
          <source>The Semantic Web - ISWC</source>
          <year>2012</year>
          ,
          <article-title>LNCS</article-title>
          , vol.
          <volume>7650</volume>
          , pp.
          <fpage>148</fpage>
          -
          <lpage>163</lpage>
          . Springer Berlin Heidelberg (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>