<!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>Developing Registries for the Semantic Sensor Web using stRDF and stSPARQL (short paper)⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kostis Kyzirakos</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Manos Karpathiotakis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Manolis Koubarakis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Informatics and Telecommunications National and Kapodistrian University of Athens</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We address the problem of registering and discovering sensors, sensor services and other related resources in the Semantic Sensor Web. We show how to develop a semantic registry for the storage and manipulation of metadata describing such resources using an implementation of the data model stRDF and the query language stSPARQL. stRDF extends RDF with the ability to represent spatial and temporal metadata using linear constraints. stSPARQL extends SPARQL for querying stRDF metadata. Together they provide a natural modeling framework for the problem at hand, since spatial and temporal metadata gure prominently in the description of sensors and related resources or services. We present Strabon, a storage and query evaluation module for stRDF/stSPARQL for the architecture of the EU FP7 project SemsorGrid4Env and we show how to use Strabon to implement a semantic registry.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Millions of sensors are currently been deployed in sensor networks around the
globe and are actively collecting an enormous amount of data. Together with
legacy data sources, specialized software modules (e.g., modules performing
mathematical modeling and simulation) and current Web 2.0 technologies such
as mashups, deployed sensor networks give us the opportunity to develop unique
applications in a variety of sectors (environment, agriculture, health,
transportation, surveillance, public security etc.). The term Semantic Sensor Web (SSW)
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] has recently been used to refer to the combination of sensor network, Web
and semantic technologies with the view of addressing the opportunity that we
have to unify the real and the virtual world. The SSW vision is currently shared
by several research projects world-wide [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5">1,2,3,4,5</xref>
        ].
      </p>
      <p>
        Another important activity in this area is the standardization activities of the
Sensor Web Enablement (SWE) Working Group of the Open Geospatial
Consortium (OGC) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Since the standards of this working group do not emphasize
semantics, it is interesting to investigate how SSW efforts can be coupled with
or can extend the OGC SWE proposals [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
⋆ This work was supported in part by the European Commission project
SemsorGrid4Env (http://www.semsorgrid4env.eu/).
      </p>
      <p>
        An important component of SSW architectures is the registry which is used
for discovering sensors, sensor services and other related resources. Registries
store metadata about SSW resources and make this metadata available to client
applications. In this paper we discuss the design and implementation of a
semantic registry that is currently being developed in the context of the European
FP7 SSW project SemsorGrid4Env[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In SemsorGrid4Env resource metadata is
modeled using stRDF, a constraint-based extension of RDF, that can be used
to represent thematic, spatial and temporal metadata. Resource metadata are
queried using stSPARQL, an extension to SPARQL for querying stRDF data
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. After introducing stRDF and stSPARQL, we present Strabon, a storage and
query evaluation module for stRDF/stSPARQL. Strabon is built on top of the
well-known RDF store Sesame [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and extends Sesame’s components to be able
to manage thematic, spatial and temporal metadata that are stored in PostGIS.
Then, we show how to use Strabon to develop a semantic registry for the SSW
architecture of SemsorGrid4Env.
      </p>
      <p>The organization of this paper is the following. In Section 2 we present the
data model stRDF and the query language stSPARQL by means of examples.
In Section 3 we present our current implementation of stRDF/stSPARQL and
in Section 4 we present our implementation of a semantic registry. Comparison
with related work is presented in Section 5 and in Section 6 we present our
conclusions and discuss future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>A Data Model and Query Language for SSW</title>
    </sec>
    <sec id="sec-3">
      <title>Metadata</title>
    </sec>
    <sec id="sec-4">
      <title>Resource</title>
      <p>
        The first two questions that needed to be answered while developing a registry
for the SSW are: (i) what data model should be used to encode SSW resource
metadata and (ii) what query language should be used to facilitate the discovery
of SSW resouces. As first pointed out in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], SSW resource metadata can be
distinguished into thematic (e.g., the sensor measures windspeed), spatial (e.g., the
sensor is located in Athens) and temporal (e.g., the sensor was dead throughout
the last two weeks). We have chosen to use RDF(S) as the base of our
registry metadata model and SPARQL as the base of our query language. However,
RDF(S) can only represent thematic metadata and needs to be extended if we
want to model spatial and temporal information.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] we have presented such an extension of RDF and SPARQL, called
stRDF and stSPARQL respectively. In the rest of this section we present this
data model and query language mostly by means of examples. Material in this
section comes directly from [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] where the reader can also find a formal definition
of the syntax and the semantics of stSPARQL query evaluation.
2.1
      </p>
      <sec id="sec-4-1">
        <title>Data model</title>
        <p>
          To develop stRDF, we follow closely the ideas of constraint databases and
especially the work on CSQL [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. First, we define the formulae that we allow as
constraints. Then, we develop stRDF in two steps. The first step is to define the
model sRDF which extends RDF with the ability to represent spatial data. Then,
we extend sRDF to stRDF so that thematic and spatial data with a temporal
dimension can be represented.
        </p>
        <p>Linear constraints. Constraints will be expressed in the first-order language
L = {≤, +} ∪ Q over the structure Q = ⟨Q, ≤, +, (q)q2Q⟩ of the linearly ordered,
dense and unbounded set of the rational numbers, denoted by Q, with rational
constants and addition. The atomic formulae of this language are linear equations
and inequalities of the form: ∑p</p>
        <p>i=1 aixiΘa0, where Θ is a predicate among =,
or ≤, the xi’s denote variables and the ai’s are integer constants. Note that
rational constants can always be avoided in linear equations and inequalities. The
multiplication symbol is used as an abbreviation i.e., aixi stands for xi + · · · + xi
(ai times).</p>
        <p>We now define semi-linear subsets of Qk, where k is a positive integer.
De nition 1. Let S be a subset of Qk. S is called semi-linear if there is a
quantifier-free formula ϕ(x1, . . . , xk) of L where x1, . . . , xk are variables such
that (a1, . . . , ak) ∈ S iff ϕ(a1, . . . , ak) is true in the structure Q.</p>
        <p>We will use ∅ to denote the empty subset of Qk represented by any
inconsistent formula of L.</p>
        <p>C1 ∪ C2 ∪ · · · .</p>
        <p>
          The sRDF data model. As in theoretical treatments of RDF [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], we assume
the existence of pairwise-disjoint countably infinite sets I, B and L that contain
IRIs, blank nodes and literals respectively. In sRDF, we also assume the existence
of an infinite sequence of sets C1, C2, . . . that are pairwise-disjoint with I,B and
L. The elements of each Ck, k = 1, 2, . . . are the quantifier-free formulae of the
first-order language L with k free variables. We denote with C the infinite union
De nition 2. An sRDF triple is an element of the set (I ∪B)×I ×(I ∪B∪L∪C).
If (s, p, o) is an sRDF triple, s will be called the subject, p the predicate and o
the object of the triple. An sRDF graph is a set of sRDF triples.
        </p>
        <p>In the above definition, the standard RDF notion of a triple is extended, so
that the object of a triple can be a quantifier-free formula with linear constraints.
According to Definition 1 such a quantifier-free formula with k free variables is a
finite representation of a (possibly infinite) semi-linear subset of Qk. Semi-linear
subsets of Qk can capture a great variety of spatial geometries, e.g., points, lines,
line segments, polygons, k-dimensional unions of convex polygons possibly with
holes, thus they give us a lot of expressive power. However, they cannot be used
to represent other geometries that need higher-degree polynomials e.g., circles.
Example 1. The following are sRDF triples:
ex:s1 rdf:type, ex:Sensor .
ex:s1 ex:has_location "x=10 and y=20"^^strdf:SemiLinearPointSet
The above triples define a sensor and its location using a conjunction of linear
constraints. The last triple is not a standard RDF triple since its object is an
element of set C.</p>
        <p>
          In terms of the W3C specification of RDF, sRDF can be realized as an
extension of RDF with a new kind of typed literals: quantifier-free formulae with
linear constraints (we will usually call them spatial literals). The datatype of
these literals is e.g., strdf:SemiLinearPointSet (see Example 1 above) and
can be defined using XML Schema. Alternatively, linear constraints can be
expressed in RDF using MathML1 and serialized as rdf:XMLLiterals as in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] specifies a syntax and semantics for incorporating linear equations in OWL
2. We now move on to define stRDF.
        </p>
        <p>The stRDF Data Model We will now extend sRDF with time. Database
researchers have differentiated among user-defined time, valid time and
transaction time. RDF (and therefore sRDF) supports user-defined time since triples are
allowed to have as objects literals of the following XML Schema datatypes:
textttxsd:dateTime, xsd:time, xsd:date, xsd:gYearMonth, xsd: gYear, xsd:gMonthDay,
xsd:gDay, xsd:gMonth.</p>
        <p>
          stRDF extends sRDF with the ability to represent the valid time of a triple
(i.e., the time that the triple was valid in reality) using the approach of Gutierrez
et al. [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] where the a fourth component is added to each sRDF triple.
        </p>
        <p>The time structure that we assume in stRDF is the set of rational numbers Q
(i.e., time is assumed to be linear, dense and unbounded). Temporal constraints
are expressed by quantifier-free formulas of the language L defined earlier, but
their syntax is limited to elements of the set C1. Atomic temporal constraints
are formulas of L of the following form: x ∼ c, where x is a variable, c is a
rational number and ∼ is &lt;, ≤, ≥, &gt;, = or ̸=. Temporal constraints are Boolean
combinations of atomic temporal constraints using a single variable.</p>
        <p>The following definition extends the concepts of triple and graph of sRDF so
that thematic and spatial data with a temporal dimension can be represented.
De nition 3. An stRDF quad is an sRDF triple (a, b, c) with a fourth
component τ which is a temporal constraint. For quads, we will use the notation
(a, b, c, τ ), where the temporal constraint τ defines the set of time points that the
fact represented by the triple (a, b, c) is valid in the real world. An stRDF graph
is a set of sRDF triples and stRDF quads.
2.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Query language</title>
        <p>
          We present the syntax of stSPARQL by means of examples involving sensor
networks. More examples of stSPARQL are given in [
          <xref ref-type="bibr" rid="ref13 ref7">13,7</xref>
          ].
        </p>
        <p>
          We consider a dataset that describes static and moving sensors and uses
the CSIRO/SSN Ontology [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] to describe them. The main classes of interest
in the SSN ontology is the class F eature that describes the observed domain,
the class Sensor that describes the sensor, the class SensorGrounding that
describes the physical characteristics and the location of the sensor and the
class Location that is self explained. We extend the aforementioned ontology
with the properties strdf:hasGeometry and strdf:hasTrajectory with range
strdf:SemiLinearPointSet.
        </p>
        <sec id="sec-4-2-1">
          <title>1 http://www.w3.org/Math/</title>
          <p>The stRDF description of a static sensor that measures temperature and has
a certain location is the following (ssn is the namespace of the CSIRO/SSN
ontology and ex an example ontology):
ex:sensor1 rdf:type ssn:Sensor .
ex:sensor1 ssn:measures ex:temperature .
ex:temperature ssn:type ssn:PhysicalQuality .
ex:sensor1 ssn:supports ex:grounding1 .
ex:grounding1 rdf:type ssn:SensorGrounding .
ex:grounding1 ssn:hasLocation ex:location1 .
ex:location1 rdf:type ssn:Location .
ex:location1 strdf:hasGeometry</p>
          <p>"x=10 and y=10"^^strdf:SemiLinearPointSet .</p>
          <p>Let us now present an example of modeling moving sensors in stRDF.
Trajectories of moving sensors are represented by semi-linear sets of dimension 3 in
variables x, y, and t.
ex:sensor2 rdf:type ssn:Sensor .
ex:sensor2 ssn:measures ex:temperature .
ex:sensor2 ssn:supports ex:grounding2 .
ex:grounding2 rdf:type ssn:SensorGrounding .
ex:grounding2 ssn:hasLocation ex:location2 .
ex:location2 rdf:type ssn:Location .
ex:location2 strdf:hasTrajectory
"(x=10t and y=5t and 0&lt;=t&lt;=5) or</p>
          <p>(x=10t and y=25 and 5&lt;=t&lt;=10)"^^strdf:SemiLinearPointSet.
Finally, we assume that we have the stRDF descriptions of some rural area where
the sensors are deployed. The stRDF description of such an area called Paros is:
ex:area1 rdf:type ex:RuralArea .
ex:area1 ex:hasName "Paros" .
ex:area1 strdf:hasGeometry
"(-10x+13y&lt;=-50 and y&lt;=79 and y&gt;=13 and
x&lt;=133) or (y&lt;=13 and x&lt;=133 and
x+2y&gt;=129)"^^strdf:SemiLinearPointSet .</p>
          <p>Example 2. Spatial selection. Find the URIs of the static sensors that are inside
the rectangle R(0,0,100,100)?
select ?S
where {?S rdf:type ssn:Sensor . ?G rdf:type ssn:SensorGrounding .
?L rdf:type ssn:Location . ?S ssn:supports ?G .
?G ssn:haslocation ?L . ?L strdf:hasGeometry ?GEO .</p>
          <p>
            filter(?GEO inside "0&lt;=x&lt;=100 and 0&lt;=y&lt;=100")}
Let us now explain the new features of stSPARQL by referring to the above
example. In stSPARQL, variables can be used in basic graph patterns to
refer to spatial literals denoting semi-linear point sets. They can also be used in
spatial filters, a new kind of filter expressions introduced by stSPARQL that
is used to compare spatial terms using spatial predicates. Spatial terms
include spatial constants (finite representations of semi-linear sets e.g., "0&lt;=x&lt;=10
and 0&lt;=y&lt;=10"), spatial variables and complex spatial terms (e.g., ?GEO INTER
"x=10 and y=10" which denotes the intersection of the value of spatial
variable ?GEO and the semi-linear set "x=10 and y=10"). There are several types of
spatial predicates such as topological, distance, directional, etc. that one could
introduce in a user-friendly spatial query language. In the current version of
stSPARQL only the topological relations of [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ] can be used as predicates in a
spatial filter expression e.g., filter(?GEO1 inside ?GEO2).
          </p>
          <p>
            Example 3. Intersection of an area with a trajectory. Which areas of Paros were
sensed by a moving sensor and when?
select (?TR[
            <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
            ] INTER ?GEO) as ?SENSEDAREA ?GEO[
            <xref ref-type="bibr" rid="ref3">3</xref>
            ] as ?T1
where {?SN rdf:type ssn:Sensor . ?RA rdf:type ex:RuralArea.
?X rdf:type ssn:SensorGrounding . ?Y rdf:type ssn:Location.
?SN ssn:supports ?X . ?X ssn:hasLocation ?Y.
?Y strdf:hasTrajectory ?TR . ?RA ex:hasName "Paros".
          </p>
          <p>
            ?RA strdf:hasGeometry ?GEO . filter(?TR[
            <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
            ] overlap ?GEO)}
The above query demonstrates the projection of spatial terms. Projections of
spatial terms (e.g., ?TR[
            <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
            ]) denote the projections of the corresponding point
sets on the appropriate dimensions, and are written using the notation Variable
"[" Dimension1 "," ... "," DimensionN "]".
          </p>
          <p>Example 4. Projection and spatial function application. Find the URIs and the
locations of the sensors that are north of Paros. Encode the locations in WKT.
select ?SN ToWKT(?SN_LOC) AS ?WKT_LOC
where {?RA rdf:type ex:RuralArea . ?RA ex:hasName "Paros" .
?RA strdf:hasGeometry ?GEO . ?SN rdf:type ssn:Sensor .
?X rdf:type ssn:SensorGrounding . ?Y rdf:type ssn:Location .
?SN ssn:supports ?X . ?X ssn:hasLocation ?Y .</p>
          <p>
            ?Y strdf:hasGeometry ?SN_LOC.filter(MAX(?GEO[
            <xref ref-type="bibr" rid="ref2">2</xref>
            ])&lt;MIN(?SN_LOC[
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]))}
The above query demonstrates the projection of spatial terms and the
application of metric spatial functions to spatial terms. We allow expressions like
MAX(?GEO[
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]) that return the maximum value of the unary term ?GEO[
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]. Since
we cater for the case that the user would like to retrieve spatial geometries
expressed in different representations, we introduced the function ToWKT that
returns the WKT representation of a spatial geometry.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>3 Implementation</title>
      <p>
        In this section we present Strabon, a storage and query evaluation module for
stRDF/stSPARQL which is currently under development by our group in the
context of project SemsorGrid4Env [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In the first prototype of Strabon, we
are supporting only the model sRDF (i.e., there is no support for time) and
Sesame
      </p>
      <p>Query Engine</p>
      <p>Parser
Optimizer
Evaluator
Transaction
Manager
Storage Manager</p>
      <p>Repository</p>
      <p>SAIL
RDBMS</p>
      <p>Constraint Engine</p>
      <p>Representation</p>
      <p>Translator
semi-linear sets of dimension at most 2 (i.e., only spatial data in 2 dimensions
are supported). This is a realistic scenario that allows us to capture all the
spatial data of SemsorGrid4Env (e.g., spatial coverage for data sources
exposing UK’s national Spatial Data Infrastructure datasets, programmatic data and
commercial product datasets). Once our first prototype is complete and has been
thoroughly evaluated, we will turn our attention to the full data model.
3.1</p>
      <sec id="sec-5-1">
        <title>The Strabon system</title>
        <p>
          Strabon is built on top of the well-known RDF store Sesame [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] and extends
Sesame’s components to be able to manage thematic and spatial metadata stored
in PostGIS. We chose to base our system on Sesame since its layered architecture
allows implementations on top of a wide variety of repositories without changing
any of Sesame’s other components. In Strabon, the repository is the PostGIS
DBMS that gives us many of the needed functionalities for spatial data.
        </p>
        <p>The Sesame architecture consists of the following layers (some of which are
shown in Figure 1 in the context of the Strabon architecture): Access APIs and
Storage and Inference Layer (SAIL) APIs. The most important Access API is
the Repository API that is used for querying and updating data. SAIL is the
layer below the Access APIs. SAIL API’s role is to offer storage support to
the entire application, while the Repository API mentioned above just provides
transparent access to SAIL. SAIL provides RDF-specific methods to access RDF
data that are translated to calls to the underlying database.</p>
        <p>
          We stress that although a new generation of RDF stores recently proposed by
the database community [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] has been shown to be more efficient than Sesame,
the features of the software architecture of Sesame outlined above, its maturity
as an open source RDF store, and its wide user base affected our decision to
adopt it for the first implementation of Strabon. We plan to experiment with
implementations which are based on more recently proposed RDF stores.
        </p>
        <p>Figure 1 presents the system architecture of Strabon which consists of the
following modules:
{ Query Engine: This module is used to evaluate stSPARQL queries posed by
clients. The Query Engine receives all the stSPARQL queries, parses them,
optimizes them, prepares an execution plan and returns the appropriate
response to the client. We have extended Sesame’s Parser and Evaluator
to handle stSPARQL queries and use Sesame’s Optimizer and Transaction
Manager as is. In Section 3.3 we describe how the Query Engine evaluates
stSPARQL queries.
{ Storage Manager : This module is responsible for storing data in the
underlying PostGIS database. The Repository, SAIL and RDBMS layers are
Sesame’s modules that were described above. We have extended the RDBMS
layer to be able to store spatial literals in PostGIS. In Section 3.2 we provide
more details about the Storage Manager.
{ PostGIS : Strabon uses PostGIS to store stRDF data and to perform part of
the query evaluation process as we will show in Section 3.3.
{ Constraint Engine: This module is responsible for processing the part of the
stSPARQL queries that deal with geometries and the conversions that take
place during data loading. Since we want our implementation to cater for
the case that input spatial objects are expressed in other spatial data
models (e.g., using OGC standards), the Representation Translator component
has been introduced to translate spatial objects between the constraint and
other equivalent representations. Spatial objects that represent non-convex
geometries are convexified prior to storage to take advantage of efficient
computational geometry algorithms for convex geometries. This is the job of the
Convex Partitioner module. The Normal Form Constructor takes the output
of the Representation Translator or the Convex Partitioner and constructs
a geometry in a normal form that we describe in Section 3.2 below.
3.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Storing stRDF data</title>
        <p>When a user wants to store stRDF data, she makes them available in the form
of an stRDF document. The document is decomposed into stRDF triples and
each triple is stored in the underlying repository as we explain below.</p>
        <p>Sesame supports two storage schemes for pure RDF data. A “monolithic”
scheme where all triples are stored in a giant Triple table, and a vertical
partitioning scheme that stores triples using one table per predicate. In both cases,
the data is stored using dictionary encoding i.e., each URI or literal is encoded
by a unique positive integer to reduce space. The mapping between the original
RDF term and its encoding is stored in a separate table.</p>
        <p>In Strabon, the storage scheme of Sesame is extended with an extra table
that stores detailed information about spatial literals. In addition, spatial literals
are encoded using the same dictionary encoding techniques. If the “monolithic”
storing scheme is used, all stRDF triples are stored in the Triple table. The
schema of the Triple table is Triple(subj id integer, pred id integer, obj id integer)
and each tuple has a subj id (resp. pred id, obj id ) that is the unique encoding
of the triple’s subject (resp. predicate, object).</p>
        <p>An additional table SpatialLiteral is used to store information about spatial
literals. The schema of the table is SpatialLiteral(id integer, value varchar,
strdfgeo geometry). Each tuple in the SpatialLiteral table has an id that is the unique
Geometric objects
represented with</p>
        <p>constraints
Geometric objects
represented with
Well Known Text
(WKT)
points, lines,
polygons, TINs and
polyhedrons</p>
        <p>Repository</p>
        <p>SAIL
RDBMS</p>
        <p>Constraint Engine</p>
        <p>Representation Translator
proIncpeusstor cddlib prOocuetpsustor</p>
        <p>Convex Partitioner
proIncpeusstor CGAL prOocuetpsustor
rom tro
laF trc</p>
        <p>u
roNm sonC</p>
        <p>PostGIS
encoding of the spatial literal. The string representation of the spatial
geometry is stored in the value attribute. The attribute strdfgeo is a spatial column
whose data type is the PostGIS-defined geometry type and is used to store the
geometric object that is described by the spatial literal. The stored object is the
vector representation of a semi-linear point set in normal form. In the case that
the vertical partitioning scheme of Sesame is used, the same additions are done
to it to facilitate the storage of stRDF data.</p>
        <p>In the rest of this section we will describe in detail the conversions that take
place during data loading and how we populate the table SpatialLiteral. Prior
to storing geometries, we process the input geometries provided by the users so
that each geometric object that we consequently store in PostGIS is in a normal
form that satisfies the following requirements:
{ Constraints have been transformed to the equivalent vector representation.
{ The geometry is expressed as the union of convex components.
{ There are neither redundant nor inconsistent geometries.
{ The geometries are stored in a specific order to speed-up the conversion
between the vector and constraint representation.</p>
        <p>
          Let us now describe in detail how data are converted in normal form. When
a user wants to store a spatial literal, the RDBMS layer of the Storage Manager
initiates the procedure of converting the input geometry to normal form and
storing it to PostGIS. When the input geometry is represented with constraints,
the Storage Manager communicates with the Representation Translator to
convert these constraints to disjunctive normal form (DNF) so that each geometry is
expressed as a disjunction of conjunctions of constraints. Since each conjunction
of constraints represents a convex spatial object, the DNF form is equivalent to
a union of convex spatial objects. Subsequently, the Representation Translator
converts the constraint representation of the geometry to the equivalent vector
representation using Fukuda’s cddlib library [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] that is an implementation of
the Double Description Method of Motzkin et al. [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] for generating all vertices
and extreme rays of a general convex polyhedron in Rd given a system of linear
inequalities. Afterwards, the Normal Form Constuctor of the Constraint Engine
expresses the geometry in PostGIS’ Enhanced Well Known Binary (EWKB)
format, a superset of OGC’s WKB format. For optimization purposes we store the
vertices of each spatial object in a predefined order, so that we can later
compute the constraint representation of the geometry with a simple scan over the
geometry’s vertices. Finally, the normalized geometry is stored in the strdfgeo
attribute of the SpatialLiteral table described previously in this section.
        </p>
        <p>
          Our implementation also supports geometries expressed in the OGC
WellKnown Text (WKT) specification2. In this case, the RDBMS layer of the Storage
Manager communicates with the Constraint Engine, which normalizes the input
geometry, but a different procedure is followed. Specifically, the Convex
Partitioner simplifies the user input so that non-simple polygons are converted to
a list of simple polygons. Each non-convex simple polygon is partitioned into
convex sub-partitions using CGAL [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. The Convex Partitioner uses CGAL’s
implementation of the simple approximation algorithm of Hertel and Mehlhorn
[
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] that requires O(n) time and space to construct a decomposition of the
initial polygon into no more than four times the optimal number of convex pieces.
Finally, the Normal Form Constructor of the Constraint Engine expresses the
geometry in EWKB, just like in the previous case, and the normalized geometry
is stored in the strdfgeo attribute of the SpatialLiteral table.
        </p>
        <p>
          The implementation described above has been heavily influenced by the
implementation of D´edale [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. For example, we use the same normal for storing
semi-linear sets, and we also cater for the storage of non-convex geometries
imported from data sources that use the vector model.
3.3
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>Evaluating stSPARQL queries</title>
        <p>Another important module of Strabon is the query engine. The design of the
query engine is classical and is illustrated in Figure 3. It consists of a parser, an
optimizer, a query processor (evaluator) and a transaction manager. The parser
extends Sesame’s parser to parse stSPARQL queries. The parser generates a
query model that will be optimized later on by the optimizer. In the version
of Strabon currently under development, the Sesame optimizer and transaction
manager are used essentially as is. Later versions will deal with the new features
of stSPARQL. Sesame’s optimizer consists of a set of heuristics that rearranges
the order of the query’s triple patterns so that the query will be evaluated more
efficiently. Sesame’s evaluator has been extended so that it takes as input the
optimized model of the query and evaluates it in a streaming fashion by taking
into account the new features introduced by stSPARQL.</p>
        <p>An stSPARQL query is evaluated as follows: In the first step, in which most
of the processing takes place, the stSPARQL query is transformed to an SQL
query by the evaluator depending on the storage being used. For example, the
2 Although stRDF/stSPARQL is based on linear constraints, it is our intention that
Strabon enables the processing of spatial data represented in common OGC formats,
supported by popular DBMS or GIS. In fact, this need has arisen in SemsorGrid4Env
where we have to import geometries expressed in WKT that described the spatial
coverage of stored and stream data sources.</p>
        <p>stSPARQL
query</p>
        <p>Parser
Optimizer
Evaluator
Transaction
Manager</p>
        <p>Representation</p>
        <p>Translator
Convex Partitioner
spatial filters of the stSPARQL query are mapped to the equivalent built-in
functions and operators of PostGIS. Afterwards, Sesame evaluates the SQL query
via PostGIS. The results of this query are returned to the evaluator which
performs some post-processing to the results. For example, it calculates the result
of expressions that may exist in the SELECT clause of the stSPARQL query,
such as the construction of new spatial terms, using the results that have been
retrieved from PostGIS in the previous step. The last step of the query
processing involves displaying the final results in the format specified by the user. In
the default case, results are encoded according to the SPARQL Query Results
XML Format recommendation and the constraint representation is used for
spatial data. The user can also request that the spatial literals are encoded using
OGC’s Well Known Text representation. Finally, the user can also retrieve the
results encoded in Keyhole Markup Language (KML) which is an OGC standard
and is widely used in the mapping industry.
4</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Using Strabon to Implement a Semantic Registry</title>
      <p>In this section, we provide a brief description of the project SemsorGrid4Env and
a synopsis of the proposed conceptual Web service architecture. Besides that,
our main goal is showing how Strabon can be used to implement the Semantic
Registry of the SemsorGrid4Env architecture.
4.1</p>
      <sec id="sec-6-1">
        <title>The SemSorGrid4Env Web service architecture</title>
        <p>The project “Semantic Sensor Grids for Rapid Application Development for
Environmental Management (SemsorGrid4Env)”, aims to realize the SSW vision
by developing a software platform which allows the rapid development of open
large-scale semantics-based applications over data sources such as sensor
networks that provide real-time information, and traditional data sources such as
relational databases that may provide historical data, simulation data etc. The
results of the project are demonstrated in two use cases: “Fire Risk Monitoring
and Warning in NorhtWest Spain” and “Coastal and Estuarine Flood Warning
in Southern UK”.</p>
        <p>
          The SemsorGrid4Env service-oriented architecture [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] shown in Figure 4
has three major classes of services that can be characterized as an Application
Application Tier
Middleware Tier
Data Tier
        </p>
        <p>Semantic
Integrator
Application
Services
Data Source
Connectivity</p>
        <p>Bridge
Concrete
Resource</p>
        <p>Semantic
Registry</p>
        <p>Semantic Registry</p>
        <p>Service
Registration</p>
        <p>Query</p>
        <p>
          Strabon
Query
Engine
Constraint
Engine
Storage
Manager
PostGIS
Tier, a Middleware Tier and a Data Tier. The Application Tier comprises
services that provide domain specific functionality to consumers and applications.
For example, an application may enable a user to visualize a layer on a map,
displaying temperature or tide height in a selected area. The Middleware Tier
consists of two main services: the Semantic Registry (also called the Semantic
Registration and Discovery service), a service that can be accessed by
prospective clients who want to manage thematic and spatial metadata about sensors,
sensor networks, data sources, etc. and the Semantic Integration service that
virtualizes multiple data sources with the use of semantic technologies [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. The
Data Tier comprises services that provide access to streaming data sources e.g.,
access to real-time sensor data, and stored data sources e.g., sensed data stored in
a relational database. Let us now give more details about the Semantic Registry.
        </p>
        <p>The Semantic Registry enables the registration of SSW resources, such as
sensors, sensor networks, streaming data sources with real-time data and stored
data sources with historical data. These resources can then be discovered using
thematic and spatial criteria, and subsequently be used in other services or
applications like mashups.</p>
        <p>Figure 4 depicts how Strabon is used to realize the Semantic Registry of
the SemsorGrid4Env arhitecture. Strabon lies between clients i.e., metadata
providers or metadata consumers, and PostGIS, that stores the metadata
provided by metadata providers. Metadata providers intend to make public their
resources by registering them with the registry, while metadata consumers aim
to discover specific data resources based on criteria specific to them. The
components of the SemsorGrid4Env architecture play the roles of metadata providers
or consumers. A data source is a metadata provider that may produce metadata
about the stream or stored data exposed via its interfaces. The Semantic
Integrator may be either a metadata consumer or a metadata provider. It may query
the registry to discover data sources with specific characteristics, semantically
integrate them in a new virtual data source and then store the description of
the new virtual data source to the registry. Applications may also be metadata
providers or metadata consumers. Applications may use the registry to discover
data sources that meet their needs, or publish data sources that reside outside
the context of SemsorGrid4Env, such as OGC’s SWE services.</p>
        <p>
          The list of interfaces exposed by the Semantic Registry that are mandatory
for its operation are depicted in Figure 4. Specifically the service consists of the
following interfaces:
{ Service Interface. This interface enables clients to “make well-informed and
well-formed interactions” [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] with the service. For example, a client may
access the Service Interface to be informed about the interfaces offered by
the registry and the declarative query languages supported by the registry.
{ Registration Interface. This interface enables a metadata provider to register
an RDF(S) document about SSW resources (e.g. sensors, sensor networks,
data sources). If a metadata provider wants to store an stRDF description of
a data resource, she must use an appropriate message from the ones defined
in the specification of WS-DAI-RDF(S)-Query. The Web Services Data
Access and Integration Interface (WS-DAI) is a flexible framework defined by
the Global Grid Forum, that ensures that a user dealing with grid or Web
applications does not become exposed to the complexity of underlying data
storage mechanisms. WS-DAI-RDF(S)-Query is a realization of this
interface, that is specialized for accessing resources containing RDF(S) data.
{ Query Interface. The WS-DAI-RDF(S)-Query specification has been adopted
for this interface as well. The Query Interface provides operations allowing a
metadata consumer to query the contents of the registry in order to discover
relevant resources using stSPARQL.
        </p>
        <p>
          We have not so far defined any interface that allows harvesting of resource
metadata as in other approaches [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] since no such functionality is needed by
the use cases of SemsorGrid4Env. Other useful interfaces are defined in [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] that
enable clients to subscribe to the registry their request to be notified whenever
resources with certain characteristics are published (e.g., allowing for
subscriptions to alerts regarding the status of a sensor). This has been left for future work
depending on whether the functionality is needed in the project and when the
relevant functionality of Strabon (e.g., continuous queries) becomes available.
4.2
        </p>
      </sec>
      <sec id="sec-6-2">
        <title>Example orchestrations in the SemsorGrid4Env architecture</title>
        <p>Let us now give examples of the SemsorGrid4Env software platform functionality,
focusing on the interactions of various components with the Semantic Registry
for registering and discovering data sources.</p>
        <p>
          Suppose that a user wants to expose sensed data of wind speed and
predicted values of wave height in the area of Southampton using a Stored Data
Service, and another user wants to register a service providing the scheduled
ship departure times from the ports of England. The users use the ontologies
that have been developed in the context of SemsorGrid4Env to create
semantically enriched property documents that contain thematic and spatial metadata
about the exposed data sources. These ontologies include, among others, a
sensor network and observation ontology, a domain-specific ontology describing the
concept of flood and an ontology describing the content of a dataset exposed by
a service (e.g., the dataset’s spatial coverage, its structure, etc) [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. Afterwards,
the users invoke the registration interface of the Semantic Registry to register
the semantically enriched property documents.
        </p>
        <p>Let us suppose now that an end-user is looking for a Stored Data Service
that observes tide height or wave height and partially covers South England. The
user may utilize a mashup application that transforms the user’s request in an
stSPARQL query with the appropriate thematic and spatial restrictions. This
query is transmitted through the Semantic Registry to Strabon encapsulated
inside a SparqlExecute request, where it is evaluated. The result of this query
is returned to the mashup application and is presented to the user.</p>
        <p>Similarly, a domain expert may be interested in exposing a source targeted
at more specialized audiences. Specifically, she may want to associate the wave
height with the ship departure times from Southampton, so that potential
hazards for the ships may be discovered. To accommodate these specialized needs,
she can use the Semantic Integrator to create a “virtual” data source that unifies
these data sources. The new data source is registered with the registry in the
same way, and can be discovered in a way identical to the scenario above.
5</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Related Work</title>
      <p>There have been several approaches to developing registries for SSW
architectures. Below we discuss the most relevant to our work.</p>
      <p>In the context of OGC SWE, the functionality of a registry can be realized
by some component that implements the OGC catalogue service specification.
The common query language developed for interoperability in this specification is
based on attribute-value pairs (data model) and Boolean attribute operator value
expressions (queries). In SemsorGrid4Env, we rely on stRDF and stSPARQL i.e.,
a semantics-based data model and query language that is more expressive than
the ones offered by OGC catalogues.</p>
      <p>
        In their initial paper on the SSW [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Sheth and colleagues do not address
registries explicitly but their work on extending RDF with a spatial and temporal
dimension and the development of the query language SPARQL-ST [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] is a solid
foundation for a data model and query language for SSW registries, exactly
like our work on stRDF and stSPARQL. A comparison of SPARQL-ST and
stSPARQL has already been given in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        The SenseWeb/SensorMap project of Microsoft Research provides a common
platform for users to easily publish their sensor data and enable queries over
live sensor data sources. The SenseWeb platform uses as a registry a relational
database, called GeoDB, to store sensor metadata (e.g., publisher name, sensor
location, sensor name, sensor type, data type, unit, sensor data access methods
and free text descriptions) [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ].
      </p>
      <p>
        The Swiss Experiment (SwissExp) [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] is a collaboration of environmental
science and technology research projects of various research institutions across
Switzerland which has been created to provide a platform for large scale sensor
network deployment, querying and exploitation. In [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], the Sensor Metadata
Repository of SwissExp is introduced. Through a semantic wiki, all data and
metadata are integrated and stored in the form of RDF and then different data
sources can be queried through a Netapi SPARQL endpoint to the wiki.
      </p>
      <p>The SANY Sensor Anywhere - IST FP6 Integrated Project3 is developing a
service-oriented infrastructure for sensor networks and services specific for
environmental applications. The registry of the SANY architecture behaves as a
cascading catalogue where various underlying data sources may be accessed. It
is based on the ORCHESTRA Catalogue Service which is a geospatial
catalogue service with a semantically-enriched interface which can be adjusted to
any application-specific domain. The ORCHESTRA catalogue service acts like
a broker that mediates the client requests to the underlying catalogue protocols
such as an other SANY or ORCHESTRA catalogue, a web search engine or
various OGC protocols.</p>
      <p>
        The European FP6 project OSIRIS has developed a Sensor Instance Registry
(SIR) that offers operations for inserting, harvesting and querying information
about sensor instances [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. SensorML is used to describe sensor instances and
queries are posed using a combination of spatial constraints, temporal constraints
and keywords. Query answering is carried out by using three indices, one for each
of the three kinds of criteria allowed. There is another component called
Sensor Observable Registry (SOR) where semantic information about phenomena
observed by sensors can be stored using an ontology. SIR can use SOR to
exploit semantic information to offer better answers to queries (e.g., to determine
equivalent phenomena). [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] also discusses how to link the OSIRIS discovery
framework with OGC catalogues.
6
      </p>
    </sec>
    <sec id="sec-8">
      <title>Conclusions</title>
      <p>
        We presented the design and implementation of a registry for registering and
discovering sensors, sensor networks and other related SSW resources in the
context of project SemsorGrid4Env. Our future work concentrates on evaluating
our implementation of Strabon and comparing it with competitive approaches
such as [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. Finally, we will be extending Strabon to cover all of stSPARQL.
      </p>
      <sec id="sec-8-1">
        <title>3 http://www.sany-ip.org/</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sahoo</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          : Semantic Sensor Web.
          <source>Internet Computing, IEEE</source>
          <volume>12</volume>
          (
          <issue>4</issue>
          ) (
          <year>2008</year>
          )
          <volume>78</volume>
          {
          <fpage>83</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Semantic</given-names>
            <surname>Reality</surname>
          </string-name>
          <article-title>Project</article-title>
          . http://www.semanticreality.org/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Semantic</given-names>
            <surname>Sensor</surname>
          </string-name>
          <article-title>Grids for Rapid Application Development for Environmental Management (SemsorGrid4Env)</article-title>
          . http://www.semsorgrid4env.eu
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>4. The Swiss Experiment initiative</article-title>
          . http://www.swiss-experiment.ch/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>W3C</given-names>
            <surname>Semantic Sensor Network</surname>
          </string-name>
          Incubator Group. http://www.w3.org/2005/ Incubator/ssn/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>6. Sensor Web Enablement Working Group. http://www.opengeospatial.org/ projects/groups/sensorweb/</mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Koubarakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kyzirakos</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Modeling and Querying Metadata in the Semantic Sensor Web: The Model stRDF and the Query Language stSPARQL</article-title>
          .
          <source>In: Proceedings of the 7th Extended Semantic Web Conference</source>
          , ESWC. (
          <year>2010</year>
          )
          <volume>425</volume>
          {
          <fpage>439</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Sesame</surname>
            <given-names>RDF</given-names>
          </string-name>
          framework. http://www.openrdf.org/
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kuper</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramaswamy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shim</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A Constraint-based Spatial Extension to SQL</article-title>
          .
          <source>In: Proceedings of the 6th International Symposium on Advances in Geographic Information Systems</source>
          . (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Perez</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arenas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gutierrez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Semantics and Complexity of SPARQL</article-title>
          . In: ISWC. (
          <year>2006</year>
          )
          <volume>30</volume>
          {
          <fpage>43</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>OWL 2 Web Ontology Language, Data Range Extension: Linear Equations</article-title>
          . W3C Working Group Note (
          <year>October 2009</year>
          ) , http://www.w3. org/TR/2009/NOTE-owl2
          <string-name>
            <surname>-</surname>
          </string-name>
          dr-linear-
          <volume>20091027</volume>
          /, last accessed February 20,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Gutierrez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hurtado</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vaisman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Introducing Time into RDF</article-title>
          .
          <source>IEEE TKDE</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Kyzirakos</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koubarakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaoudi</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>Data models and languages for registries in SemsorGrid4Env</article-title>
          .
          <source>Deliverable D3</source>
          .1,
          <issue>SemSorGrid4Env</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Neuhaus</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Compton</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The Semantic Sensor Network Ontology: A Generic Language to Describe Sensor Assets</article-title>
          .
          <source>In: AGILE 2009 Pre-Conference Workshop Challenges in Geospatial Data Harmonisation</source>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Cui</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cohn</surname>
            ,
            <given-names>A.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Randell</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          :
          <article-title>Qualitative and Topological Relationships in Spatial Databases</article-title>
          . In: Advances in Spatial Databases. (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Sidirourgos</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goncalves</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kersten</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nes</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manegold</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Column-store support for RDF data management: not all swans are white</article-title>
          .
          <source>VLDB</source>
          <volume>1</volume>
          (
          <issue>2</issue>
          ) (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Fukuda</surname>
          </string-name>
          , K.:
          <article-title>cddlib library</article-title>
          . http://www.ifor.math.ethz.ch/~fukuda/cdd_home/ cdd.html
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. T.S. Motzkin,
          <string-name>
            <given-names>H.</given-names>
            <surname>Raifa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.T.</given-names>
            ,
            <surname>Thrall</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.:</surname>
          </string-name>
          <article-title>The double description method</article-title>
          . In:
          <article-title>Contributions to theory of games</article-title>
          . Volume
          <volume>2</volume>
          ., Princeton University Press (
          <year>1953</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Cgal</surname>
            ,
            <given-names>C.G.A.L.</given-names>
          </string-name>
          http://www.cgal.org
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Hertel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mehlhorn</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Fast triangulation of simple polygons</article-title>
          .
          <source>In: Foundations of Computation Theory</source>
          . Volume
          <volume>158</volume>
          of Lecture Notes in Computer Science., Springer Berlin / Heidelberg (
          <year>1983</year>
          )
          <volume>207</volume>
          {
          <fpage>218</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Rigaux</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scholl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Segou n</surname>
          </string-name>
          , L.,
          <string-name>
            <surname>Grumbach</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Building a constraint-based spatial database system: model, languages, and implementation</article-title>
          .
          <source>Information Systems</source>
          <volume>28</volume>
          (
          <issue>6</issue>
          ) (
          <year>2003</year>
          )
          <volume>563</volume>
          {
          <fpage>595</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>A.J.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Galpin</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fernandes</surname>
            ,
            <given-names>A.A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paton</surname>
            ,
            <given-names>N.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Page</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koubarakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kyzirakos</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calbimonte</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Diaz</surname>
            ,
            <given-names>V.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Libana</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>SemSorGrid4Env Architecture Phase I. Deliverable D1</article-title>
          .
          <year>3v1</year>
          ,
          <issue>SemSorGrid4Env</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Calbimonte</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gray.</surname>
            ,
            <given-names>A.J.G.</given-names>
          </string-name>
          :
          <article-title>Enabling Ontology-based Access to Streaming Data Sources</article-title>
          .
          <source>In: ISWC</source>
          <year>2010</year>
          (to appear). (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Jirka</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Broring</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stasch</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Discovery Mechanisms for the Sensor Web</article-title>
          .
          <source>Sensors</source>
          <volume>9</volume>
          (
          <issue>4</issue>
          ) (
          <year>2009</year>
          )
          <volume>2661</volume>
          {
          <fpage>2681</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Garcia-Castro</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rucabado-Rucabado</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hill</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Izquierdo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Sensor Network Ontology Suite</article-title>
          .
          <source>Deliverable D4</source>
          .
          <year>3v1</year>
          ,
          <issue>SemSorGrid4Env</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Perry</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A Framework to Support Spatial, Temporal and Thematic Analytics over Semantic Web Data</article-title>
          .
          <source>PhD thesis</source>
          , Wright State University (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <article-title>SenseWeb project</article-title>
          . http://research.microsoft.com/en-us/projects/ senseweb/
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Dawes</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kumar</surname>
            ,
            <given-names>K.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Michel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aberer</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehning</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Sensor Metadata Management and its Application in Collaborative Environmental Research</article-title>
          .
          <source>In: 4th IEEE International Conference on e-Science</source>
          .
          <article-title>(</article-title>
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Perry</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hakimpour</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          : Analyzing Theme, Space, and
          <article-title>Time: an Ontology-based Approach</article-title>
          .
          <source>In: Proceedings of the 14th ACM international symposium on Advances in geographic information systems (GIS'06)</source>
          . (
          <year>2006</year>
          )
          <volume>147</volume>
          {
          <fpage>154</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>