<!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>OnGIS: Ontology Driven Geospatial Search and Integration</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marek Sˇm´ıd</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zdenˇek Kouba</string-name>
          <email>kouba@fel.cvut.cz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Electrical Engineering, Czech Technical University in Prague</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Helping non-expert users to query over complex spatial data requires abstracting from GIS services and operations. This paper introduces an abstraction layer based on OWL ontologies. It provides an intuitive searching GUI for exploring data semantically integrated from different sources. The language OWL 2 QL has been chosen as it performs open-world semantic web reasoning suitable for data integration, while having good computational properties. To support spatial constraints, a custom OWL 2 QL reasoner has been designed as part of this work. It allows relating different objects by means of spatial joins. A prototype system backed by the custom reasoner has been tested on the urban planning domain.</p>
      </abstract>
      <kwd-group>
        <kwd>Geospatial semantics</kwd>
        <kwd>OWL 2 QL</kwd>
        <kwd>Data integration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The problem OnGIS tries to solve is a semantic search over spatial data, which
is motivated by the need of presenting GIS services to non-expert users (with
neither technical nor GIS background) in a simple way, still allowing him/her to
perform complex queries. The use case at the end of this section shows that it
can help a user to obtain relevant information from a complex GIS server, which
would be otherwise difficult without understanding the GIS domain.</p>
      <p>Another advantage of using semantic technologies for the search is that it
can be crafted to work with multiple data sources, which allows for filtering by
relations between objects from different sources.</p>
      <p>
        Semantics of the queries is supported by an OWL 2 QL [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] reasoner (see
Section 3), which supports e.g. sub-class, sub-property, domain and range axioms.
For example, when there is an axiom saying that class Places of Worship in an
ontology has a sub-class Churches in another ontology, it helps to find instances
of Churches from the latter ontology, when a user asks for instances of the Places
of Worship class.
      </p>
      <p>A more complex example proving that OWL 2 QL goes beyond RDFS1
expressivity consists of the following two axioms: Churches is a sub-class of the
range of the marriageTakesPlaceIn object property, and marriageTakesPlaceIn
1 http://www.w3.org/TR/rdf-schema/, cit. 24.7.2012
is a sub-property of the inverse of the hostsSocialEvent object property. Then,
asking for all places that host social events (i.e. querying the domain of
hostsSocialEvent) retrieves also the instances of Churches.</p>
      <p>The main advantage of OWL 2 QL over OWL 2 DL is its tractability,
which allows for storing instances in a relational database and posing
ontological queries2 by means of query reformulation to SQL3. This makes it possible
to store large amounts of data, which is typical in GIS systems, and reason over
them. Still, OWL 2 QL is quite powerful (has class and role hierarchies, limited
negation, etc.) and it keeps the open world assumption. It is also well settled as
a W3C standard.</p>
      <p>A motivation, where OnGIS can be used, is to visualize data and maps of the
department of urban planning of Prague (the capital of the Czech Republic),
being a part of URM ( U´tvar rozvoje hlavn´ıho mˇesta Prahy4) — City Development
Authority of Prague.</p>
      <p>URM collects many data sets obtained from various government institutions,
taking care of e.g. pollution, noise, flood risks, and land prices. URM groups
these data sets into map layers and services, which are available to the public for
various analyses (e.g. setting prices for real estate companies, finding a suitable
site to build a house for a family). But for a user, who is not a GIS expert, it
is not easy to search in a catalogue of GIS services, to find relevant map layers
and to work with them.</p>
      <p>Thus, the metadata of URM GIS services were extracted (mostly by querying
ArcGIS5 SOAP web services), and stored into an ontology. This ontology was
annotated with the OnGIS annotations (see Section 4), making it possible for
OnGIS to search it and display the URM GIS services in a map.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <sec id="sec-2-1">
        <title>Linking Ontologies with Databases and Semantic Integration</title>
        <p>
          There are quite many systems for linking ontologies to databases, here are some
examples implementing OWL 2 QL or another DL−Lite language [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] (see
Section 3) that can link to databases or other efficient storages, e.g. QuOnto6 [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ],
ROWLKit [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], Mastro [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], OWLIM7 (OWLIM-SE has spatial support according
to [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], but very limited), Stardog8. None of the mentioned systems supports (to
our knowledge) complex spatial queries.
2 Queries consisting of elements with defined meanings given by an ontology, and
relations between the elements.
3 This technique of query answering is called Ontology-Based Data Access (OBDA),
which uses an ontology as a mediator to access non-semantic data.
4 http://www.urm.cz/, cit. 24.7.2012
5 A series of GIS software by ESRI, see http://www.esri.com/software/arcgis,
cit. 24.7.2012
6 http://www.dis.uniroma1.it/~quonto/, cit. 7.10.2011
7 http://www.ontotext.com/owlim, cit. 24.7.2012
8 http://stardog.com/, cit. 24.7.2012
        </p>
        <p>
          For mapping ontology entities to a database, we have chosen a set of our
own simple OWL annotations. It was impossible to reuse existing mapping
approaches, e.g. in D2RQ [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], because they do not fit the OnGIS needs, since they
do not have some required features (e.g. filtering table results) and they do not
allow for needed optimizations (e.g. query containment).
        </p>
        <p>
          There has been many works on semantic integration ([
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] gives an overview).
An example is CARIN [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. The CARIN family of languages combines Horn rules
and description logics. It deals with designing a sound and complete inference
procedure for answering queries. An application of CARIN, Information
Manifold, as presented in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], serves a similar purpose as OnGIS — information
gathering providing uniform access to multiple structured information sources. It
uses materialized database views that guarantee accessing only relevant sources.
However, Information Manifold does not deal with spatial data sources. C-OWL
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] is an interesting approach for linking semantic data using contextualized
ontologies based on OWL.
        </p>
        <p>General database integration tools are not suitable, though some of them
support spatial data integration, since they lack a semantic layer.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>GIS Querying Systems</title>
        <p>
          The authors of [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] propose a system for mapping ontology axioms to SQL
queries on a database with the focus on geospatial data. Though using ontologies,
it does not rely on OWL or any other reasoning. Also it does not focus on multiple
data sources.
        </p>
        <p>
          The system DO-ROAM [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] is quite similar to our OnGIS. It is a web service
that focuses on finding places according to activities that a person could perform
there. It uses its own OBDA system, which maps ontology concepts and
properties to database queries in quite a simple way. The implemented OBDA system is
probably not a general OWL reasoner. Again, it does not support multiple data
sources, and is not general enough to support reasoning over different domains.
        </p>
        <p>
          The ontology-based information system in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] focuses on spatio-thematic
query answering for city maps. Its reasoner implements a very expressive logic
that has some features OWL 2 DL has not (and vice versa). The system
implements its own custom storage, which directly includes the inference algorithms
and the query evaluation engine. Spatial data in an ABox9 are represented e.g. as
RCC relations only, or by using a special spatial ABox. But it does not integrate
multiple data sources.
        </p>
        <p>
          The system in [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] links an RDF10 ontology to databases and WFS11. It uses
custom rules and algorithms for query rewriting, but it does not provide the
standard OWL semantics. However, it supports query answering from multiple
data sources, specifically WFS servers for spatial data and databases (via the
D2R interface) for attributes.
9 A set of all ontology axioms about individuals — assertions.
10 http://www.w3.org/RDF/, cit. 24.7.2012
11 Web Feature Service, an Open Geospatial Consortium (OGC) standard, see
http://www.opengeospatial.org/standards/wfs/, cit. 24.7.2012
        </p>
        <p>
          The spatial decision support system in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] integrates various data sources
(OGC standards WMS, WFS, WCS, WPS) and links them with ontologies. It
also uses catalogue services via ontologies and automatic web service discovery.
However, it focuses more on geospatial analysis and ontology alignment than
spatial search.
        </p>
        <p>
          The authors in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] use Parliament triple store, supporting geospatial indexes,
for storing spatial data and for making complex spatial queries via GeoSPARQL
(see Section 3.2) over them. However they use a precomputed data set and do
not directly support data integration.
3
        </p>
        <p>
          OWL 2 QL
OWL 2 QL [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] is a profile of the Web Ontology Language (OWL). The key feature
is its tractability (along with other OWL 2 profiles) traded for expressiveness,
which is lower compared e.g. to OWL 2 DL. The tractability brings the advantage
that description logic queries can be reformulated into SQL and thus RDBMSs
(relational database management systems) can be used as OWL 2 QL storage.
        </p>
        <p>
          OWL 2 QL is based on DL−LitecHore, a member of the DL−Lite language
family defined (in its extended version) in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], being in turn a member of the
description logics family [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. DL−LitecHore constructs for defining concepts and
roles in description logics syntax are:
        </p>
        <p>B ::= A | ∃R ,</p>
        <p>C ::= B | ¬B ,</p>
        <p>R ::= P | P − ,
where A denotes a concept name, B a basic concept, and C a general concept.
Symbol P denotes a role name, and R a complex role.</p>
        <p>The semantics is defined by an interpretation I = (ΔI , ·I ), where ΔI is
a nonempty interpretation domain and ·I is an interpretation function, that
assigns to each individual an element of ΔI , to each concept name a subset of
ΔI , and to each role name a binary relation over ΔI .</p>
        <p>Semantics of the used constructs are defined in Table 1.</p>
        <p>A TBox12 can be defined by inclusion axioms of the form: B ⊑ C, and
R1 ⊑ R2, interpreted by I as BI ⊆ CI , resp. R1I ⊆ R2I .
12 A set of all ontology terminological axioms — subsumptions of concepts, domains,
etc.</p>
        <p>An ABox consists of the following assertion axioms: A(a), and P (a, b), where
a, b are individuals interpreted by I as aI, bI ∈ ΔI. The axioms are interpreted
by I as aI ∈ AI , resp. aI, bI ∈ P I .</p>
        <p>OWL 2 QL extends DL−Lite with various features not affecting its
tractability, e.g. data roles.
3.1</p>
      </sec>
      <sec id="sec-2-3">
        <title>Owlgres</title>
        <p>
          Owlgres13 [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] is an open source Java implementation of a DL−LitecHore reasoner
developed by Clark &amp; Parsia14, backed by a DBMS for persisting data (it is
tailored to work with PostgreSQL15 databases).
        </p>
        <p>The original database schema used in Owlgres has two sets of database tables,
one for TBox, with one table listing all classes, one for all object properties, etc.,
and one set for ABox. This original schema for ABox stores all class assertions
in one table, all object property assertions in another table, and similarly for
data properties and annotations.
3.2</p>
      </sec>
      <sec id="sec-2-4">
        <title>OwlgresMM</title>
        <p>
          In [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], two other schemas are designed, implemented and compared to the
original one in Owlgres. The result is that for most cases, storing class assertions
(resp. object and data property assertions) in separate tables per named class
(resp. named object and data property), which is one of the new schemas, is
the most efficient option. OnGIS uses OwlgresMM, which is our extension of
Owglres based on this schema.
        </p>
        <p>Another feature of OwlgresMM is that it supports simple annotations for
defining how the classes and properties are mapped into a database. But the
key quality is it can work with multiple databases. After input query
reformulation, it distributes the query among multiple databases that are linked from
the imported TBoxes, and it generates the SQL queries to the ones suitable to
answer at least a part of the query (i.e. containing data, which can help spatially
restricting the query results).</p>
        <p>
          It partially supports GeoSPARQL [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ], an OGC16 standard for geospatial
queries and simple geometry manipulation, extending SPARQL17, a query
language for RDF. GeoSPARQL was an inspiration for spatial filters (e.g. within,
within distance, and bounding box) and geometry accessors (e.g. geometry,
centroid, and area) implementation, with full compliance pending. There are more
features implemented, like support for aggregations, various filters, etc.
        </p>
        <p>OwlgresMM is tailored to work with PostgreSQL with PostGIS extension18.
13 http://pellet.owldl.com/owlgres, cit. 7.10.2011
14 http://clarkparsia.com/, cit. 7.10.2011
15 http://www.postgresql.org/, cit. 24.7.2012
16 Open Geospatial Consortium, http://www.opengeospatial.org/, cit. 24.7.2012
17 http://www.w3.org/TR/rdf-sparql-query/, cit. 24.7.2012
18 PostGIS (http://postgis.refractions.net/, cit. 24.7.2012) adds support for
spatial data to PostgreSQL. It allows efficient storage, indexing, and retrieval of
geographical data in database tables.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Design</title>
      <p>OnGIS tries to follow typical web search scenarios. A user is not used to give a
search engine a structured query, but instead enters a few keywords, and
examines the results the query engine gives back. Then, the user picks the relevant
search results, which are added to the list of items to be displayed. This sequence
can be repeated several times, until the user fills the list with all the items he/she
wants to be displayed.</p>
      <p>The front-end part of OnGIS (see Fig. 1) consists of a modular web
application. The key aspect of the web application is that it does not depend on
any domain specific data structure nor on any technique of obtaining data. The
way, how to obtain data, is provided by plugins. Each plugin has to conform
to an API, which allows for user query answering, for providing geometries,
and for displaying layers. Plugins can support searching over ontology entities,
databases, etc., and displaying layers e.g. from PostGIS databases, WMS19 and
ArcGIS servers.</p>
      <p>Modular
Web Application</p>
      <p>form
annotations
set of
TBoxes</p>
      <p>Ontology
plugin
OwlgresMM GeoSPARQL
plugin TBoxes
WMS
plugin
ArcGIS
plugin</p>
      <p>OwlgresMM</p>
      <p>Independence of the web application on domain structure is ensured by
using the following specific set of OWL annotations, which serve as an interface
between the domain specific ontologies and the web application.
searchable specifies a data property, which should be searched when a user
enters a query.
geometry specifies an entity representing spatial geometries — it is useful for
spatial queries.
filterable specifies, if a data property is suitable for filtering — it is useful for
filtering spatial features (e.g. by attribute queries) to be displayed on a map.
partof specifies relation between entities by an object property, defining part-of
relation — it is useful for linking an object to its integral components.
19 An OGC standard of a simple mechanism for obtaining raster maps, see http:
//www.opengeospatial.org/standards/wms/, cit. 24.7.2012.
priority specifies a numeric priority of entities, which affects the order in which
the entities should appear in the search result list.
displayable specifies an entity, which can be displayed on a map as a layer. It
may have annotation sub-properties, that are handled by different OnGIS
plugins, e.g. for Postgis, WMS, ArcGIS, and ArcGIS RESTful map servers.</p>
      <p>An example of the annotations used on the URM domain is illustrated in
Fig. 2. Only a part is displayed, what is missing is e.g. the searchable
annotation marking the URM domain data properties “hasKeywords”, “hasDefinition”,
“hasDescription”, etc.</p>
      <p>A key advantage of OnGIS compared to other similar systems is that it can
spatially relate search results. The relations between objects can be entered in
two ways:
simple The simple way is to add a spatial restriction to a search result.
Currently, only two restrictions are possible: inside restriction and distance
restriction. The inside restriction filters all other search results, so that they
have to be contained inside the search result defining the restriction. The
distance restriction is similar — all other search results have to be within the
specified distance. These restrictions can be used on more than one search
results, but not all plugins need to support multiple restrictions.
by links Another way of specifying relations is by defining links, which is meant
for advanced users. A link can be established between two search results,
which filters both search results in such a way that they have to be within
the specified distance (pair-wise, one feature corresponding to one search
result entity, the second feature corresponding to the other search result
entity). More link types are to be designed.</p>
      <p>A query consists of ontology entities found by the “searchable” annotated
properties. In case of the entities annotated as “geometries”, in the simple mode,
a user can attach the inside and the distance restrictions to the entities. The
semantics of the restrictions is that for each entity attached with one, it restricts
all other “geometry” entities. It is performed in a recursive fashion, e.g. for
entities A, B, C, where B, C have some restrictions, then A is restricted by B,
which is restricted by C, and also A is restricted by C, which is restricted by B;
the cycles in the tree are cut. The restrictions do not apply for “single object”
geometries, which are as such reported by OnGIS plugins (not groups of objects,
but specific objects, that are directly sought for by the user, and it does not make
sense to filter them).</p>
      <p>In case of the entities annotated as “filterable”, the user can enter filter
expressions, which are applied to automatically added (if not already present)
entities, of which the “filterable” entities are “part of”. The semantics of the links
mode is simply restricting only the entities involved in the links. When the query
is evaluated, the “geometry” entities annotated with one of the “displayable”
annotations are shown on a map.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Proof of Concept</title>
      <p>An OnGIS prototype has been built as a Java EE20 application. The prototype
provides a web interface for searching and displaying maps using OpenLayers21.</p>
      <p>There are four plugins implemented and used:
Owlapi plugin is used for searching over ontologies via the OWLAPI interface.</p>
      <p>It performs search only, no layer retrieval nor spatial queries are supported.
OwlgresMM plugin is a connector to OwlgresMM. It receives query requests
from the web interface, constructs a SPARQL query and queries appropriate
databases using OwlgresMM. It also handles displayablePostgis annotation,
for which it fetches geometries from appropriate PostGIS databases and
generates a layer.</p>
      <p>WMS plugin is used for displaying layers in the map from WMS servers. It is
driven by displayableWms annotation.</p>
      <p>ArcGIS plugin is used for displaying layers in the map from ArcGIS servers.</p>
      <p>It is driven by displayableArcgis and displayableArcgisRest annotations.</p>
      <p>The prototype has been tested with OwlgresMM connecting to two databases,
one with OpenStreetMap22 data, and the other with GeoNames23 data.</p>
      <p>OpenStreetMap is publicly available geographical data of the World. We
implemented a special utility, which imports the data to our own spatially enabled
database in a suitable format — each category of features in a separate
table, and generates an ontology to database tables mapping. As the ontology for
OpenStreetMap data, LinkedGeoData24 ontology was used, which is a part of
Linked Data. Its expressivity is quite limited, and it is no problem to fit it into
20 http://docs.oracle.com/javaee/, cit. 24.7.2012
21 An open-source JavaScript library for displaying and interacting with maps from
many raster and vector sources, see http://openlayers.org/, cit. 24.7.2012.
22 http://www.openstreetmap.org/, cit. 24.7.2012
23 http://www.geonames.org/, cit. 24.7.2012
24 http://linkedgeodata.org/, cit. 24.7.2012
the OWL 2 QL expressivity. GeoNames is a geographical database of points.
However, it has not been used in the example shown below.</p>
      <p>The semantics of crowdsourced data, like OpenStreetMap and GeoNames, is
not always very precise, compared to the professional data, as from URM, with
more accurate semantics. Therefore, it would be useful to employ data available
from other local authorities, e.g. cadastral offices.</p>
      <p>As an example of many experiments performed (involving various natural
objects, ways, city places, etc.), let us search for places of worship with two
restrictions: they have to be close to a park (with maximum distance of 100 m),
and they have to be inside a specific part of Prague (borough named “Praha 2”).
Such queries, integrating the URM services and other data, may help citizens
in making their housing decisions. The OnGIS system connects all the data
mentioned earlier: URM GIS services, OpenStreetMap and GeoNames data.</p>
      <p>The query has to be posed to the system in an understandable way. One
way would be to write it as a piece of text with simple rigid structure, with its
terms having known meanings. We chose another one, constructing the query
iteratively by adding objects in the query (e.g. a place, a group of places, an
attribute) one by one. A user enters a keyword for each object in the query first,
and from the results found he/she picks the appropriate one, which is added to
a list. As an example, we entered the keyword “worship”, which found the class
“Place of Worship” from OpenStreetMap ontology, that was added to the final
query object list, as in Fig. 3. We followed entering the rest of the terms (see
the caption of the figure).</p>
      <p>Fig. 3 also shows the appropriate filter fields in the list. For example, the
name attribute is an instance of the class Attributes in the domain specific
URM GIS services ontology. This class is annotated with the general OnGIS
filterable annotation, hence it does make sense to provide the user with text
input field for filtering. We entered “Praha 2”, the requested borough here. The
other objects are either URM GIS layer instances (boroughs) or OpenStreetMap
classes (parks and places of worship), which are all annotated as being both
displayable (thus they are shown in the map in Fig. 4) and as being geometries
(suitable for performing spatial queries). Thus these items contain fields for
filtering via maximum distance to them and for filtering other items only to those
being inside of them. Therefore, we ticked the inside restriction of boroughs, and
entered “100” (meters) to the max. distance restriction of parks.</p>
      <p>Fig. 4 contains the results of the query. It is a detail of a map displayed in
OpenLayers, having URM technical land usage layers in the background (with
the river Moldau on the left-hand side). The colors correspond to the result list
in Fig. 3, thus the parks are blue, and the places of worship are red. The display
of boroughs was disabled, to make the map more legible.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>The designed ontology based system, OnGIS, is suitable for distributing queries
over spatial data to multiple data sources with spatial restrictions among them.
It is based on the idea that the domain-specific data structures linked to the
system are described by domain-specific ontologies, that are annotated with
general OnGIS annotations, which are the entry points for accessing the data
from OnGIS.</p>
      <p>A strong aspect of the system is that it can perform filtering by spatial
relations between objects — efficiently within one database data source, or even
between heterogeneous data sources.</p>
      <p>Its prototype supports a few GIS services at the moment: WMS and ArcGIS
servers, and spatially-enabled relational databases (specifically Postgres with
PostGIS extension).</p>
      <p>There are many ways of extending OnGIS. An obvious one is supporting other
GIS services via plugins, e.g. plugin for WFS servers (which allow for spatial
queries and displaying features). Also a plugin for querying RDF repositories via
SPARQL endpoints, possibly supporting GeoSPARQL would help using many
data sources (naturally the ones in Linked Data — DBpedia, etc.) would greatly
extend the system. The OwlgresMM plugin will be extended to fully support
GeoSPARQL to allow compatibility with other systems.</p>
      <p>Using non-spatial data would require non-spatial links between objects, which
requires an appropriate extension of OnGIS GUI to support it. Also the spatial
relation restrictions need extending, with an appropriate semantics designed.
Complete query correctness and soundness verification is also necessary.</p>
      <p>The current OnGIS query input, iterative addition of single query objects, can
be substituted by entering a query via a piece of text with simple rigid structure
(an expression not in a natural language, but very restricted) defining objects,
and their restrictions and relations. Some users may find it more intuitive and
as a quicker way of entering a query. To give the terms in the expression specific
meanings, the terms could be picked from a list of suggestions after typing a few
first letters (such suggestion lists are widely used by web search engines).</p>
      <p>
        Filtering data based on a spatial relation within a spatially enabled relational
database is a computationally expensive operation. Experiments show, that
Postgres, when asked to find objects from one table within a distance to objects from
another table, uses sequential scan on one table, and spatially indexed access on
the other (using the index for object from the sequential scan from the former
table). This can take a long time for otherwise unrestricted query over large
tables. A solution to alleviate the problem may be to implement seeded tree
algorithm according to [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
      </p>
      <p>Acknowledgments. This work was supported by the CTU research funding
and the research programme no. MSM 6840770038 funded by the Czech Ministry
of Education.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. World Wide Web Consortium:
          <article-title>OWL 2 Web Ontology Language: Profiles, OWL 2 QL</article-title>
          , http://www.w3.org/TR/owl2-profiles/#OWL 2 QL. (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Artale</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kontchakov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharyaschev</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The DL-Lite family and relations</article-title>
          .
          <source>J. of Artificial Intelligence Research</source>
          <volume>36</volume>
          (
          <year>2009</year>
          )
          <fpage>1</fpage>
          -
          <lpage>69</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Acciarri</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giacomo</surname>
            ,
            <given-names>G.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palmieri</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R.: QuOnto:
          <article-title>Querying ontologies</article-title>
          .
          <source>In: Proc. of the 20th Nat. Conf. on Artificial Intelligence (AAAI</source>
          <year>2005</year>
          ).
          <article-title>(</article-title>
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Corona</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruzzi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Savo</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          :
          <article-title>Filling the gap between OWL 2 QL and QuOnto: ROWLKit</article-title>
          . In: Description Logics '
          <fpage>09</fpage>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giacomo</surname>
            ,
            <given-names>G.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poggi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>RodriguezMuro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruzzi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Savo</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          :
          <article-title>The Mastro system for ontology-based data access</article-title>
          .
          <source>Semantic Web Journal</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ) (
          <year>2011</year>
          )
          <fpage>43</fpage>
          -
          <lpage>53</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Battle</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolas</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Enabling the geospatial semantic web with Parliament and GeoSPARQL</article-title>
          . Semantic Web Journal, to appear
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seaborne</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>D2RQ - treating non-RDF databases as virtual RDF graphs</article-title>
          .
          <source>In: ISWC2004 (posters)</source>
          .
          <source>(November</source>
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Telang</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chakravarthy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Information integration across heterogeneous sources: Where do we stand and how to proceed</article-title>
          ? In: COMAD, Computer Society of India / Allied Publishers (
          <year>2008</year>
          )
          <fpage>186</fpage>
          -
          <lpage>197</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Levy</surname>
            ,
            <given-names>A.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rousset</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          :
          <article-title>Combining horn rules and description logics in CARIN</article-title>
          . Artif. Intell.
          <volume>104</volume>
          (
          <issue>1-2</issue>
          ) (
          <year>1998</year>
          )
          <fpage>165</fpage>
          -
          <lpage>209</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Levy</surname>
            ,
            <given-names>A.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rajaraman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ordille</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          :
          <article-title>Query-answering algorithms for information agents</article-title>
          .
          <source>In: AAAI-96</source>
          . (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Bouquet</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giunchiglia</surname>
          </string-name>
          , F.,
          <string-name>
            <surname>van Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serafini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stuckenschmidt</surname>
          </string-name>
          , H.:
          <article-title>COWL: Contextualizing ontologies</article-title>
          .
          <source>In: ISWC. Lecture Notes in Computer Science</source>
          , Springer Verlag (
          <year>October 2003</year>
          )
          <fpage>164</fpage>
          -
          <lpage>179</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Baglioni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Masserotti</surname>
            ,
            <given-names>M.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Renso</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spinsanti</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Improving geodatabase semantic querying exploiting ontologies</article-title>
          .
          <source>In: GeoSpatial Semantics</source>
          , Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Codescu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horsinka</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kutz</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mossakowski</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rau</surname>
          </string-name>
          , R.: DO-ROAM:
          <article-title>Activity-oriented search and navigation with OpenStreetMap</article-title>
          .
          <source>In: GeoSpatial Semantics</source>
          , Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Wessel</surname>
            ,
            <given-names>M.,</given-names>
          </string-name>
          <article-title>M¨oller</article-title>
          , R.:
          <article-title>Flexible software architectures for ontology-based information systems</article-title>
          .
          <source>Journal of Applied Logic - Special Issue on Empirically Successful Computerized Reasoning</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wei</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peng</surname>
            ,
            <given-names>Z.R.</given-names>
          </string-name>
          :
          <article-title>Ontology-based geospatial data query and integration</article-title>
          .
          <source>In: GIScience</source>
          . Volume
          <volume>5266</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2008</year>
          )
          <fpage>370</fpage>
          -
          <lpage>392</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>The framework of a geospatial semantic web-based spatial decision support system for digital earth</article-title>
          .
          <source>Int. J. Digital Earth</source>
          <volume>3</volume>
          (
          <issue>2</issue>
          ) (
          <year>2010</year>
          )
          <fpage>111</fpage>
          -
          <lpage>134</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The description logic handbook: theory, implementation, and applications</article-title>
          . Cambridge University Press (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Stocker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Owlgres: A scalable OWL reasoner</article-title>
          .
          <source>In: OWLED. Volume 432 of CEUR Workshop Proceedings., CEUR-WS.org</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. Sˇm´ıd, M.:
          <article-title>Using databases for description logics</article-title>
          .
          <source>Master's thesis</source>
          , Czech Technical University in Prague, Faculty of Electrical Engineering (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Open Geospatial Consortium: OGC GeoSPARQL - A Geographic Query</surname>
          </string-name>
          <article-title>Language for RDF Data</article-title>
          , http://www.opengeospatial.org/standards/geosparql. (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Lo</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ravishankar</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>The design and implementation of seeded trees: an efficient method for spatial joins. Knowledge and Data Engineering</article-title>
          , IEEE Transactions on
          <volume>10</volume>
          (
          <issue>1</issue>
          ) (jan/feb
          <year>1998</year>
          )
          <fpage>136</fpage>
          -
          <lpage>152</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>