<!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>Detecting Mobility Patterns using Spatial Query Answering over Streams</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Thomas Eiter</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Josiane Xavier Parreira</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Patrik Schneider</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Siemens AG O</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Vienna University of Technology</institution>
          ,
          <addr-line>Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The development of (semi)-autonomous vehicles and communication between vehicles and infrastructure (V2X) will aid to improve road safety and reduce emissions by identifying dangerous traffic scenes based on movement patterns. A key to this is the Local Dynamic Map (LDM), which acts as an integration platform for static, temporary, and dynamic information about traffic in a geographical context. We have semantically enhanced the LDM to allow an elaborate domain model, captured by a mobility ontology, and queries over data streams that allow for semantic concepts and spatial relationships. Our approach is in the context of ontology-mediated query answering (OQA), which features conjunctive queries over DL-LiteA ontologies that allow for window operators over streams having a pulse and for spatial relations between spatial objects. We have introduced in previous work simple aggregate queries over mobility streams, which often do not suffice to capture more complex movement patterns. Based on three scenarios, we define requirements derived from a domain-specific list of features. Further, we present an extension of the previous aggregate functions with statistical and predictive functionality, which allows us to query more complex mobility patterns such as road networks statistics, vehicles maneuvers, and temporal connected events such as (potential) accidents. We also give a more detailed report on our implementation and analyze it regarding the features and requirements.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The development of (semi)-autonomous vehicles needs extensive communication
between vehicles and the infrastructure, which is covered by Cooperative Intelligent
Transport Systems (C-ITS). These systems collect temporal data (e.g., traffic light signal
phases) and geospatial data (e.g., GPS positions), which are exchanged in
vehicle-tovehicle, vehicle-to-infrastructure, and combined communications (V2X). This aids (a) to
improve road safety by analyzing traffic scenes that could lead to accidents (e.g., red light
violations), and (b) to reduce emissions by optimizing traffic flow (e.g., dissolve traffic
jams). A key technology for this is the Local Dynamic Map (LDM) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] as an integration
platform for (semi-)static, and dynamic information in a geographical context.
      </p>
      <p>We have semantically enhanced the LDM towards an elaborate domain model,
captured by a mobility ontology, with conjunctive queries (CQs) over data streams that
allow for semantic concepts and spatial relationships to address safety applications, such
as detection of red light violations on complex intersections managed by a roadside C-ITS
station. To realize query answering (QA) over mobility streams, spatial and streaming
data were lifted to ontology-mediated QA (OQA) with the ontology language
DLLiteA . However, for monitoring more complex actions such as vehicle maneuvers (e.g.,
overtaking), this query language is too limited and needs to be extended with temporal,
statistical, and predictive functions. To this end, we start with the three important
scenarios “intersection statistics”, “mobility patterns”, and “event detection” and derive
requirements for a suitable query language, which are based on a domain-specific set of
features. Our contributions are briefly summarized as follows:
- we define our desired scenarios, features, and requirements (Section 2);
- we outline the field of V2X integration using LDMs and provide details on our LDM
ontology that incorporates the features/requirements (Section 3);
- we present our current data model, query language, and outline the evaluation
techniques with extensions regarding the features/requirements (Section 4);
- we give a detailed description of our query platform and analyze it regarding the
implemented features and requirements (Section 5).</p>
      <p>In Section 6, we discuss related work and conclude with ongoing and future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Scenarios, Features, and Requirements</title>
      <p>In this section, we give three application scenarios that are used to define the features and
derived the requirements. All scenarios are related to roadside C-ITS stations deployed
on either a single road intersection or a network of intersections. The C-ITS stations
receive any V2X message and can send signal phases and a local intersection topology
messages, to inform other participants on its current state. The other participants such as
vehicles (or pedestrians) might share their states such as their current speed, acceleration,
and position using V2X messages or an IoT-based protocol (e.g., ZigBee, Bluetooth,
or Z-Wave).3 Furthermore, the C-ITS could have access to auxiliary streams providing
news, public transport, and weather data.</p>
      <p>S1: Intersection and Network Statistics. The focus of this scenario is on the
collection of statistical data concerning stops, throughput, traffic distribution, or types of
participants by aggregating the streaming data on specific intersections. Regarding this
scenario, we have identified the following use cases and measurements:
1. Object level: for a single vehicle, the average speed, acceleration, number of stops,
or on a sensor level average temperature or rainfall could be calculated ;
2. Road/Lane level: on the road/lane level, important measures could be the
average throughput, waiting time, the amount of stops, but also traffic light related
measurements such as the average signal phase length;
3. Intersection level: on this level, besides calculating a summary of road/lane level
indicators, matrices regarding transfers (e.g. how many cars head straight on),
modality, and type mix (e.g. relation between public/private transport, or car/truck)
could be determined;
4. Network level: on the network level, intersections are represented by nodes connected
by roads. In this setting, we could calculate summary of each intersections, but also
transfer times and traffic flow between intersections could be calculated.</p>
      <sec id="sec-2-1">
        <title>3 http://www.zigbee.org/, https://www.bluetooth.com/, or http://www.z-wave.com/</title>
        <p>S2: Vehicle Maneuvers. This scenario is concerned with the detection of maneuvers
performed by a single car or a group of cars. The detection of maneuvers can be used for
statistics (e.g., number of cars turning left), or as a basic pattern for event detection as
defined below (e.g., crossing a double line). The following maneuvers could be extracted
from the trajectories of vehicles:
1. Slow down/speed up: the detection of these maneuvers could be done by aggregating
the acceleration;
2. Drive straight on, turn left, turn right: for the detection of turns, the geometry of a
vehicle trajectory could be matched to geometries representing all types of turns.
3. Stop, load/unload, park: to determine whether a car has stopped is straightforward,
but distinguishing the reason for the stop needs contextual information such as the
location of the stop, e.g., parking;
4. Lane change: this maneuver requires the combination of trajectory-based geometries
and spatial relations that are evaluated w.r.t. the trajectories;
5. Overtake: this maneuver is an extension of a “change lane”, but needs additionally
trajectory predictions.</p>
        <p>Note that the calculation of the trajectory needs a preprocessing step of correcting
frequent GPS errors in position data.</p>
        <p>
          S3: Event Detection. An important C-ITS application is “road safety” [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], which can
be enabled by event detection. It is the most complex scenario, since it requires the
combination of statistical measurements, vehicle maneuvers, and temporal relations that
are evaluated over a longer period. The following events could be detected:
1. Red-light violation: as shown in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], this event can be detected by checking the
spatial intersection of lanes changing to a red phase, the vehicle’s speed and current
trajectory. This could be enhanced by predicting possible trajectories;
2. Obstructed view: this event concerns dangerous situation on intersections where two
vehicles have no visual contact because of an obscured view due to buildings or
trees. The overlap of the possible trajectories for the two vehicles has be checked,
and the information (by tagging) that the intersection might have obscured view
situations (based on historic data on accidents) has to be taken into account;
3. Vehicle breakdown/accident: this event is based on a “stop” maneuver, where we
identify vehicles that are not moving and are inside a dangerous area of an
intersection. This event can be extended for the case where several vehicles are involved;
4. Traffic rule violations: traffic rule violations cover a wide range of events. For
instance, speeding or red-light violations, but also crossing double lines or forbidden
overtaking could be detected for enforcement;
5. Traffic congestions: this is the most complex event, as short and long term
observations must be combined. Queuing cars could indicate a congestions and be detected
by checking the “stop” maneuvers of several vehicles that are behind each other, but
not stopped by a longer red light phase.
        </p>
        <p>
          Features and Requirements. The eight resp. nine central requirements, e.g., volume,
velocity, variety, incompleteness, complex domain models, etc. identified by [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ] resp.
[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] for stream reasoning systems are not discussed here, but should hold for mobility
stream systems as well. In this paper, we only focus on domain specific features that
are mapped to requirements crucial for enabling the above scenarios. For this, we have
identified the following feature sets:
- F1 - Time model: a point-based (PO), an interval-based (IT), or combined (CM) model
of time is desired. In the CM model, aggregations could lead to intervals based on
point-based data items;
- F2 - Process paradigm: queries are processed in a push-based (PS) or pull-based (PL)
manner. A combined (CM) method is possible, where the high velocity atoms are
push-based (for caching) and the low velocity atoms are still pull-based evaluated.
- F3 - Spatial relations: different sorts of relations are desired, starting from a point-set
model (PSM) as we have used in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] to the more detailed 9-Intersection model (DE9)
of [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] or qualitative spatial reasoning as in RCC8 [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ];
- F4 - Temporal relations: several formalisms for temporal relations are suitable, Linear
Temporal Logic (LTL)[
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] with the operators next, global, or until; Allen’s Time
Interval Algebra [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] with operators like before, meets, and during, or Metric Temporal
Logic (MTL) [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] with LTL operators plus timing constraints.
- F5 - Numerical aggregations: these can be “simple” aggregations such as sum or
average on either a set or multiset (bag) of data items. Note that the aggregation over
a multiset, e.g., Gc1 =fj30; 29; 34jg and Gc2 =fj20; 0; 0jg, is crucial, since we often
have data items of different objects in a single stream. In case the data items are not
ordered, functions like first or last are desired.
- F6 - Spatial aggregations: a wide range of spatial aggregations (e.g., convex hull)
can be applied to geometric objects like points and lines. The aggregation functions
need to take the peculiarities of geometries into account. For instance, the dimension
of the object changes depending on the function used, e.g., building a line segments
of points. Furthermore, this feature could include smoothing and simplification of
complex objects.
- F7 - Numerical predictions: predictions allow the generation of not known data times
projected into the past or future. Several prediction functions such as multiple linear
or k-nearest-neighbour regression should be available. Depending on the task, even
more complex machine learning methods could be envisioned.
- F8 - Trajectory computations: instead of projecting numbers into the future, we predict
a vehicle’s movement. This could be achieved by (1) a ”point-to-curve” aggregation,
and (2) calculating possible paths using an underlying road graph.
- F9 - Spatial matching: checking identical geometries does not suffice in all cases,
hence geometric objects must be compared for their similarity. E.g., left or right
turns are represented by prototypical curves, which are then compared to calculated
trajectories of the vehicles.
- F10 - Advanced features: the set of “advanced” features increase the computational
complexity of query answering considerably, with the effect that our “inherent”
property of direct FO-rewritability is lost. These features are more generic and include
graph connectivity (CN), Negation as Failure (NA), and repairing w.r.t. constraints in
the ontology of inconsistent data items (RE).
        </p>
        <p>We have derived the requirements (shown in Table 1) by analyzing each scenario
and use case regarding the necessary features. In case of a single feature, e.g., trajectory
computation, we only distinguish between “Y” for required, “N” for not required, and
“P” possibly required. For instance in S3.1, a point-based time model suffices, however,
intervals might be helpful to represent signal phases of traffic lights. In case of longer
timed queries (such as S3.5), intervals are needed to process aggregations in combination
with long-term temporal relations. Further in S3.1, both pull- or bushed-based queries are
desired, and the “standard” features like spatial relations, aggregations, and predictions
(including trajectories) are all necessary.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>V2X Integration and the Local Dynamic Map</title>
      <p>
        The base communicate technologies (i.e., the IEEE 802.11p standard) allow wireless
access in vehicular environments, which enables messaging between vehicles themselves
and the infrastructure, also called V2X communications. The messages are broadcast
every 100ms by traffic participants (e.g. vehicles, roadside ITS stations) to update other
participants about their current state [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The main messages types are:
- CAMs (Cooperative Awareness Messages) provide high frequency status updates of a
vehicle’s position, speed, but could include vehicle type, etc.;
- MAPs (Map Data Messages) describe the detailed topology of an intersection,
including its lanes and their connections;
- SPATs (Signal Phase and Timing Messages) give the projected signal phases (e.g.,
green) for each lane;
- DENMs (Decentralized Environmental Notification Messages) informing if specific
events like road works or a traffic jam occur in a designated area.
      </p>
      <p>
        Local Dynamic Map. The V2X technology does not yet consider the integration of the
different types of messages. As a comprehensive integration effort, the EU SAFESPOT
project [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] introduced the concept of a Local Dynamic Map, which acts as an integration
platform to combine static geographic information system (GIS) maps, with dynamic
(a) The four layers of a LDM [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
(b) LDM ontology (partial rendering)
environmental objects (e.g., vehicles, pedestrians). The integration was motivated by
advanced safety applications, which need an “overall” picture of traffic environment.
The LDM consists of the following four layers (see Figure 1a):
- Permanent static: The first layer contains static information obtained from GIS maps
and includes roads, intersections, and points-of-interest (POIs);
- Transient static: The second layer extends the static map by detailed local traffic
informations such as fixed ITS stations, landmarks, and intersection features like lanes;
- Transient dynamic: The third layer contains temporary regional information like
weather, road or traffic conditions (e.g., traffic jams), and traffic light signal phases;
- Highly dynamic: The fourth layer contains dynamic information of road users detected
by V2X messages, in-vehicle sensors like the GPS module.
      </p>
      <p>
        Recent research ([
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ]) suggested that an LDM can be built on top of a spatial
RDBMS enhanced with streaming capabilities. It was recognized in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] that an LDM
should be represented by a world model, world objects, and data sinks on the streamed
input. However, an elaborate domain model, captured by an LDM ontology, and extended
queries over data streams allowing spatial relations (e.g., contains), were still missing.
Extended LDM Ontology. With the support of domain experts, we have extended our
LDM ontology (shown partially in Figure 1b) to capture the four levels of the LDM, the
elements of a traffic scene, but also scenario-specific elements such as maneuvers.4 The
LDM ontology is represented in DL-LiteA [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], which is the logical underpinning for
the W3C standard OWL 2 QL. Besides the restriction to DL-LiteA , our methods are
      </p>
      <sec id="sec-3-1">
        <title>4 Available at http://www.kr.tuwien.ac.at/research/projects/loctrafflog</title>
        <p>/LocalDynamicMapITS-v0.4-Lite.owl
ontology-agnostic; hence other mobility ontologies could be used as well. We follow a
layered approach starting with a simple separation between the following classes:
- V 2XF eature: is the spatial representation of V2X objects, such as details of an
intersections including lanes and traffic lights;
- GeoF eature: represents the GIS aspects of the LDM including POIs, areas like parks,
and road networks with Geometry as the geometrical representation of features;
- Actor: is the class that includes persons, vehicles, as well as roadside ITS stations. Its
objects have autonomous behavior and are the main generator of streamed data;
- Event: describes prototypical events that happen in a mobility scene, an important
subclass of Event is M aneuver that captures possible maneuver such as left-turns,
U-turns, or stops by vehicles;
- StatisticalV alues: describes possible measurements such as the average speed or
throughput that could be collected on an intersection for a lengthy period of time;
- CategoricalV alues: specify the different categories such as signal phases, or vehicle
roles used in the domain. Vehicle roles are crucial for emergency detection, since it
informs the type of an emergency vehicle (e.g., police).</p>
        <p>Further, we also introduced the following properties:
- properties for partonomies, e.g., isP artOf ;
- spatial relations, e.g., intersects;
- connectivity, e.g., connected; and
- standard properties, e.g., isAllowed, hasRole, isM anaged, or positions.</p>
        <p>The sub-classes of GeoF eature are linked to GeoOWL and GeoNames for
embedding it into existing ontologies.5 V 2XF eature is the domain specific modeling of
the MAP (Map Data Message) topology and describes the details of an intersection
including its lanes, allowed maneuvers, and traffic lights.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Spatial-Stream Query Answering</title>
      <p>The QA component is central to the usage of a semantically enriched LDM, since it
allows us to access the streamed data in the LDM. We focus on pull-based queries that
evaluate a query at a single point in time called the query time Ti.</p>
      <p>Example 1. The following query detects red-light violations on intersections by
searching for vehicles y at speed above 30km/h on lanes x whose signals will turn red in 4s:
q1(x; y) : LaneIn(x) ^ hasLocation(x; u) ^ intersects(u; v) ^ pos(line; 4s)(y; v)
^ V ehicle(y) ^ speed(avg; 4s)(y; r) ^ (r &gt; 30) ^ isM anaged(x; z)
^ SignalGroup(z) ^ hasState(first; 4s)(z; Stop)
Query q1 exhibits the different dimensions which need to be combined:
– V ehicle(y) and isM anaged(x; z) are ontology atoms, which have to be unfolded in
respect to the ITS domain modelled in the LDM ontology;
– intersects(u; v) and hasLocation(x; u) are spatial atoms, where the first checks
spatial intersection and the second the assignment of a geometry to an object;
– speed[avg; 4s](y; v) resp. pos[line; 4s](y; r) defines a window operator that
aggregates the average speed resp. positions (as points) of the vehicles over the streams</p>
      <sec id="sec-4-1">
        <title>5 see http://www.w3.org/2005/Incubator/geo/XGR-geo/ and http://www.geonames.org/</title>
        <p>ontology/
speed and pos; hasState[f irst; 4s](z; Stop) gives us the traffic lights, which
switch in 4s to the state “Stop”.</p>
        <p>
          For query evaluation, we have adapted OQA to handle spatial and streaming data,
which standard approaches as [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] do not consider. We extended the work of [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] with a
window operator that (a) collects a set of data items (e.g., positions or speed) for each
query atom from the underlying stream; and (b) calculates aggregation functions on the
set of numerical (e.g., sum), sequential (e.g., first), and spatial (e.g., line) data items.
Data Model and Query Language. Our data model is point-based and captures the
valid time, extracted from the V2X messages, saying that some data item is valid at that
time point. To capture streaming data, we introduce the timeline T, which is a closed
interval of (N; ). A (data) stream is a triple F = (T; v; P ), where T is a timeline,
v : T ! hF ; SF i is a function that assigns to each element of T (called timestamp)
data items of hF ; SF i, where F (resp. SF ) is a stream (resp. spatial with streams)
database, and P is an integer called pulse defining the general interval of consecutive
data items on the timeline (cf. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]); this naturally induces as stream of data items. We
always have a main pulse with a fixed interval length (usually 1) that defines the lowest
granularity of the validity of data points. The pulse also aligns the data items, which
arrive asynchronously in the database (DB), to the timeline. We allow additional larger
pulses that generate streams with a lower frequency, which can be utilized to perform
optimizations such as caching.
        </p>
        <p>Example 2. For the timeline T = [0; 100], we have the stream FCAM = (T; v; 1) of
vehicle positions and speed at the assigned time points for the individuals c1, c2 and b1:
v(0) = fspeed(c1; 30); pos(c1; (5; 5)); speed(c2; 10); pos(c2; (4; 4));
speed(b1; 10); pos(b1; (1; 1))g,
v(1) = fspeed(c1; 29); pos(c1; (6; 5)); speed(c2; 0); pos(c2; (5; 4));
speed(b1; 5); pos(b1; (2; 1))g, and
v(2) = fspeed(c1; 34); pos(c1; (7; 5)); speed(c2; 0); pos(c2; (5; 4))g.</p>
        <p>A “slower” stream FSP aT = (T; v; 5) captures the next signal state of a traffic light:
v(0) = fhasState(t1; Red)g and v(5) = fhasState(t1; Green)g. Further, the static
ABox contains assertions Car(c1), Car(c2), Bike(b1), and SignalGroup(t1).</p>
        <p>Our query language is based on CQs and adds spatial-stream capabilities (see
Example 1). A spatial-stream CQ q(x) is a formula:</p>
        <p>
          Vli=1 QOi (x; y) ^ Vn k=1 QFk (x; y)
j=1 QSj (x; y) ^ Vm
(1)
where x are the distinguished (answer) variables, y consists of non-distinguished
(existentially quantified) variables, objects, and constant values:
- each QOi (x; y) has the form A(z) or P (z; z0), where A is a class name, P is a property
name of the LDM ontology, and z; z0 are from x [ y;
- each atom QSj (x; y) is from the vocabulary of spatial relations and of the form
S(z; z0), where z; z0 is as before and S is one of the following spatial relation rel 2
fintersects ; contains; nextTo; equals; inside; disjoint ; outsideg;
- QFj (x; y) is similar to QOi (x; y) but adds the vocabulary for stream operators, which
are taken from [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] and relate to CQL operators [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. We have a window [agr; l] over
a stream Fj , where l is the window size in time units (positive for past, or negative
for future). The aggregate function agr 2 fcount; sum; f irst; : : :g (see below for
details) is applied to the data items in the window:6
- [agr; l] represents the aggregate of last or next l time units of stream Fj ;
- [l] represents the single tuple of Fj at index l with l = 0 if it is the current tuple;
- [agr; b; e]: represents the aggregate on a window between b and e in the past/future
of a stream.
        </p>
        <p>
          The window [agr; b; e] is derived from the work of [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] and allows us to query historic
data (e.g., logs), if they are stored as streams.
        </p>
        <p>
          Example 3. The following query counts the vehicles y that speed above 40km/h in the
last 12 hours on intersection x and compares the count of vehicles z to the previous day:
q2(x; y; z) : Intersection(x) ^ hasLocation(x; u) ^ intersects(u; v) ^
pos(line; 60s)(y; v) ^ V ehicle(count;12h)(y) ^ speed(max; 60s)(y; r) ^
(r &gt; 40) ^ pos(line; 60s)(z; v) ^ V ehicle(count;36h;24h)(z) ^
speed(line; 60s)(z; s) ^ (s &gt; 40)
Query Rewriting by Stream Aggregation. We aim at answering pull-based queries at
a single time point Ti with stream atoms that define aggregate functions on different
windows sizes relative to Ti. For this, we consider a semantics based on epistemic
aggregate queries (EAQ) over ontologies [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] by dropping the order of time points for
the data and handle the (streamed) data items as bags (multi-sets). Roughly, we perform
two steps: (1) calculate only “known” solutions, and (2) evaluate the rewritten query,
which includes the TBox axioms as well, over them. Each EAQ is evaluated over one or
more filtered and merged temporal ABoxes. The filtering and merging, relative to the
window size and Ti, creates for each EAQ one (so-called) windowed ABox A , which
is the union of the static ABox A and the filtered streaming data items from the stream
database. The EAQ are then applied on A by grouping and aggregating the normal
objects, constant values, and spatial objects. We use a bag-based epistemic semantics
for the queries, in which we locally close our world for the specific window and avoid
“wrong” aggregations due to the open world semantics of DL-LiteA . Further details on
the algorithm for evaluating EAQs are provided in [
          <xref ref-type="bibr" rid="ref17 ref18">17,18</xref>
          ].
        </p>
        <p>For normal objects and constant values, we allow three aggregate functions such as
count; f irst; last on the data items of a stream. In case of objects, e.g. vehicle c1 other
functions such as sum are not meaningful. For last and f irst, we need to search the
bag of data items, as the sequence of time points is lost. This is achieved by iteratively
checking if we have a match at one of the time points. In the implementation, the first
and last match can be simply cached while processing the stream.</p>
        <p>
          Similar to [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] for constant (numerical) values, we allow a range of aggregation and
prediction functions on the streamed data items:
- simple: count; min; max; sum; f irst; last, where last and f irst give the first or
last element in the stream;
- descriptive statistics (DS): mean; sd; var; median, where sd (resp. var) calculate
the standard deviation (resp. variance) and median as expected;
- predictions: line reg calculates the linear regression of tuples of data items and
predicts future/past values.
6 This would be represented in CQL as R[Range L], R[Now], R[Range L Slide D], etc.
        </p>
        <p>The DS and the predictions can be performed on the bag of data items or the result
of a previous aggregations. For predictions and DS, we need to keep the temporal
information as the order is lost using bags, as the prediction functions need the time
dimension. Hence we tag the exact timestamp to each data item, e.g., speed(c1; 50)[10:05]
and speed(c1; 45)[10:07] states that c1 had a speed of 50 (resp. 45) at 10:05 (resp. 10:07).
Aggregation of Spatial Objects. For spatial objects, geometric aggregate functions
are applied to the bag of data items that represent geometries. As with f irst or last, we
must rearrange them to create a valid geometry g(s), i.e., a sequence p = (p1; : : : ; pn)
of points pi. We allow the following aggregate functions to derive new geometries:
- point: we evaluate last to get the last available position p1;
- line: we create p = (p1; : : : ; pn), where p1 6= pn and determine a total order on the
bag of points, such that we have a starting point using last and iterate backwards
finding the next point by Euclidean distance;
- line angle: this aggregate function determines angles (in degrees) in a geometry by
(1) applying the function line, (2) obtaining a simplified geometry using smoothing,
and (3) calculating the angles between the lines of the simplified geometry;
- polygon: similar to line, but we create a polygon (p1; : : : ; pn), where p1 = pn by: (1)
determining the convex hull of the bag of points, and (2) extracting all pairs of points
representing the convex hull;
- traject: The simplest approach to calculate trajectories is by using the function
line. However, this is often not sufficient, and more complex smoothing and map
matching functions are needed. For the prediction of the future paths, we allow different
projections such a linear or curvature-based models. As an additional information, we
need to include the maximal distance and step size for each time point. In a simple
approximation the current speed can be taken, but also more elaborate models using
velocity profiles could be applied.</p>
        <p>Example 4. This query returns all vehicles y that will pass the crossing C1 in 10s:
q3(x; y) : Crossing(x) ^ hasLocation(x; u) ^ intersects(u; v) ^</p>
        <p>
          pos(traject; 10s)(y; v) ^ V ehicle(y) ^ (x = "C1")
Query Evaluation by Hypertree Decomposition. The main challenge is to handle
three types of query atoms that need different evaluation techniques over possibly
separate databases. Ontology atoms are evaluated over the static ABox A using a
“standard” DL-LiteA query rewriting, i.e., PerfectRef [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. For spatial atoms, we need to
dereference the bindings to the spatial ABox SA and evaluate the spatial relations (e.g.,
inside) on the spatial objects. Stream atoms are computed as EAQ over the windowed
ABoxes of the different streams.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], we introduced two spatial query evaluation strategies based on the
assumptions that no bounded variables occur in spatial atoms and the CQ is acyclic (roughly,
no proper cycle between join variables). As shown in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], one of them is based on the
query hypergraph and the derived join plan. This strategy is well-suited for lifting to
spatial-stream CQs, as it gives us fine-grained caching, full control over the evaluation,
and possibly handling different database entities. The details of decomposing an acyclic
query into a hypergraph and the related join tree, we refer to [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ].
        </p>
        <p>The main steps of our query evaluation strategy is as follows. First, we construct
the acyclic hypergraph Hq from q and label each hyperedge in Hq with lO (ontology
edge), lS (spatial edge), and lF (stream edge), where lF gets the window size assigned.
Then, we build the join tree Jq of Hq and extract the subtrees J i in Hq, such that
each node is covered by the same labels, so we have sub-CQs that share the same
aggregation/prediction functions and same window size l. For each subtree J i , we
perform the detemporalization of the stream CQ q i by extracting and computing the
results, which are stored in a virtual relation R i (a temporary table). Finally, we traverse
Jq bottom up, left-to-right, to evaluate q i for each subtree J i (without stream atoms)
and keep the results in memory for caching in future queries.</p>
        <p>Example 5. The following query returns all lane change of vehicles z by checking if two
lanes were crossed in the last 4s. The coloring distinguishes between ontology (orange),
spatial (blue), and stream (green) atoms:
q4(z) : LaneIn(x) ^ hasLoc(x; u) ^ intersects(u; w) ^ LaneIn(y) ^ hasLoc(y; v)
^ intersects(v; w) ^ pos(line; 4s)(z; w) ^ V ehicle(z)
In Figure 2, we show the derived hypergraph that leads to the following decomposition
and evaluation order:
(1) qF 1(z; w) : V ehicle(z) ^ pos(line; 4s)(z; w)
(2) qN1(x; u) : LaneIn(x) ^ hasLoc(x; u); (3) qN2(y; v) : LaneIn(y) ^ hasLoc(y; v)
(4) q4(z) : qF 1(z; w) ^ intersects(u; w) ^ qN1(x; u) ^ intersects(v; w) ^ qN2(y; v)
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Stream Query Platform and Evaluation</title>
      <p>We have implemented a prototype for
our spatial-stream QA approach in JAVA
1st.r8eaumsinRgDtBheMPSI.PWELeIpNrEesDenBt t9h.e6s.1y7staemsthare- ihnatseLrsoeccts x
chitecture in Figure 3 and give the details
on the components below. pos
PipelineDB. We chose the open-source LaneIn u w
stream RDBMS PIPELINEDB 9.6.1, as it V ehicle
is built on top of PostgreSQL and
PostGIS,8 and allows us to support spatial
data. PIPELINEDB distinguishes between y v z
streams and continuous views, where
streams are write-only, so the query evalu- Fig. 2: Hypergraph of q4
ator has to access the read-only continuous
views. The database is modeled such that
there are one-to-one mappings from streams to continuous views, and further to the
TBox classes and properties; e.g., vehicle positions are fed into the stream stream pos
that is accessed via the continuous view view pos, which is mapped to the property pos.</p>
      <p>We also provide a simple integration framework that constantly receives V2X
messages and adds the raw message data either to normal tables of the static database, to
spatial tables of the GIS database, or the streams of the stream database.</p>
      <sec id="sec-5-1">
        <title>7 https://www.pipelinedb.com/</title>
      </sec>
      <sec id="sec-5-2">
        <title>8 http://postgis.net/ and https://www.postgresql.org/</title>
        <p>
          Query Parser and Decomposer. After parsing the input spatial-stream CQ, the
hypertree is decomposed using Gottlob et al.’s implementation [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].9 Depending on the size
of the CQ, the decomposition can be expensive, hence it is performed as a preprocessing
step, whereas the decompositions are cached locally. The component gives us the joint
tree Jq and the sub-CQs assigned to each tree node. For each node, we also keep the
label that includes the subquery type, windows size, and aggregation/prediction function.
Query Evaluator. The query evaluator traverses Jq bottom up, left-to-right, and perform
the steps: (1) check if the tuples resulting from a sub-CQ are in the cache; (2) if not,
instantiate one of the evaluators according to the sub-CQ type. We have (partially)
implemented the following sub-CQ evaluators:
Ontology evaluator: we use the standard query evaluator, which is based on the
(simple) query rewriter of OWLGRES 0.1 [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ]; we plan to replace it with more efficient
implementations such as ONTOP [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ].
        </p>
        <p>
          Spatial evaluator: the spatial evaluator is responsible for handling the spatial relations
such as intersects. As mentioned in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], we evaluate the spatial relations in-memory
instead of compiling them into a large rewritten SQL. Each spatial relation is evaluated as
a join using the functions of the JTS TOPOLOGY SUITE.10 Furthermore, this component
calculates the matches between a trajectories and geometries (e.g., extracted from the
road graph) using the map matching algorithm as described by Newson and Krumm
[
          <xref ref-type="bibr" rid="ref26">26</xref>
          ].11
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>9 https://www.dbai.tuwien.ac.at/proj/hypertree/ 10 https://github.com/locationtech/jts 11 https://github.com/graphhopper/map-matching</title>
        <p>
          Stream evaluator: this evaluator is responsible for detemporalizing the streams by
grouping and aggregating the data items. For a stream sub-CQ qi, we perform the
following steps:
(1) extract the data items according to the window size derived from l, b, and e;
(2) evaluate the query qi without rewriting and store the “known solutions” in memory
as Ri;1;
(3) evaluate the rewritten query qi0 over qi and store it in memory as Ri;2;
(4) apply the prediction function on Ri;2 and add the newly predicted data items;
(5) apply the grouping and aggregation function on Ri;2, and produce the outcome Ri;3.
In our current evaluator, the prediction function is a preprocessing step for the
aggregation, and is not yet considered as an independent step. If we would consider predictions
independently, the prediction atoms could be considered as streams themselves, which
generate new data points. However this would change the query evaluation process and
would need to be investigated further. The function traject is designed with the same
intention; we take the existing points (as coordinates) and project a single path into the
future. Currently, we ignore the curvature and use a simple straight-line projection to
create new points. However, taking the curvature into account is a desired extension.
Evaluation of Features. We evaluate our platform regarding the list of features and rely
in the evaluation on our previous results of [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], since we already have implemented and
evaluated parts of the platform. We point out that the implementation and benchmarking
is ongoing work. Following, the detailed comments on the evaluation:
- F1: the work in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] is based on the point-based model, where we have shown the
feasibility for a set of nine queries in two scenarios. We aim to add an interval-based
model as an additional layer to the query evaluation. However, this is not natively
supported by PIPELINEDB, and the intervals need to be evaluated (internally)
inmemory. Intervals are a natural extension, if we want to deal with the results of
aggregations over a window, since these aggregations can be expressed as intervals,
e.g., the average speed in the last 20 seconds.
- F2: our initial prototype is based on the evaluation of pull-based queries which is in
the nature of OQA. An appealing extension are push-based queries in the OQA setting,
where the query decomposition and pulses are suitable technologies to be used, since
they allow the partial evaluation of a query including the arrival estimation off the
next data items. However, our prototype’s database PIPELINEDB would need to be
replaced by an event-driven (reactive) RDBMS such as ESPER.12
- F3: also in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], we have evaluated the (spatial) point-set model, and believe that the
extension to the 9-Intersection model is straightforward. Spatial relations using in
RCC8 is beyond our current work. It was shown in [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] that an extension for DL-Lite
is feasible.
- F4: the extension of DL-Lite with LTL resp. MTL has been thoroughly investigated in
[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] resp. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. For our work, the mentioned temporal logics are interesting extension,
and we aim to combine them with the existing query language.
- F5: numerical and spatial aggregations are a central element of our approach, and
we have implemented the mentioned numerical and spatial aggregation functions.
12 http://www.espertech.com/esper/
New to this work are the functions for descriptive statistics, which extend the existing
functions of [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
- F6 and F8: a new extension is the calculation of trajectories including the prediction
of future paths. We still have to implement and evaluate the trajectory calculation
thoroughly and add more advanced spatial functions as smoothing and simplification
of objects. The initial implementation of trajectory computations with predictions is
based on a simple linear path calculation.
- F7: we calculate the linear regression of (time-annotated) data items, which is a
standard statistical method that does not need any parameterization or training. If other
methods, e.g., k-nearest-neighbour regression, would be added, our query language
and evaluator would need to be extended, since the parameterization and training
steps is needed, taking the changing nature of streamed data into account. Further,
we believe that tying the predictions directly to the aggregation function is not very
intuitive, and a more flexible method (using the hypergraph decomposition) of finding
the related prediction and aggregation functions is desired.
- F9: important for detecting maneuvers, we have implemented a map matching
algorithm that links the points of a trajectory to the underlying (road) graph. However, this
functions could be extended by to similarity detect between two trajectories.
- F10: the calculation of graph connectivity that requires transitivity, NAF, and repairing
change the semantics and increase computational complexity of our language, and are
longer-ranged goals.
6
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Related Work and Conclusions</title>
      <p>
        Data stream management systems (DSMSs) such as STREAM [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], were built supporting
streaming applications by extending RDBMS [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. More recently, RDF stream
processing engines, such as C-SPARQL [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], SPARQLstream [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], and CQELS [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], were
proposed for processing RDF streams integrated with other linked data sources. Besides
C-SPARQL, most of them follow the DSMSs paradigm and do not support stream
reasoning. EP-SPARQL [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and LARS [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] propose languages that extend SPARQL
respectively CQs with stream reasoning, but translate KBs into more expressive (less
efficient) logic programs. Regarding spatio-temporal RDF stream processing, a few
SPARQL extensions were proposed, such as SPARQL-ST [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] and st-SPARQL [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
Closest to our work are (i) [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], which supports spatial operators as well as aggregate
functions over temporal features (ii) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], which allows evaluating OQA queries over
stream RDBMS, and (iii) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which extends SPARQL with aggregate functions (using
advanced statistics) evaluated over streamed and ordered ABoxes. This work differs
regarding (a) the evaluation approach using EAQ with aggregates on the query and not
ontology level, (b) hypergraph-based query decomposition, and (c) the main focus of
querying streams of spatial data in an OQA setting. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], temporal QA over DL-Lite
using temporal operators of MTL and LTL are evaluated over a (two-sorted) model
separating the object and temporal domain. Similar, temporal QA is investigated in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
and [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], which lack implementations yet. Finally, we build on the results for EAQs in
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], but we introduce spatial streams and more complex queries. The authors of [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
define three entailment levels for stream reasoning: stream-, window-, and graph-level
entailment. Our approach is a mix of graph- and window-level entailment, where we
complete the static and the stream items w.r.t. the domain ontology before being
aggregated and evaluated. If we would extend it to a push-based paradigm, we also would
have to take incremental reasoning into account.
      </p>
      <p>This work is sparked by the need of detecting mobility patterns based on the LDM for
V2X communications, where the LDM serves as an integration effort for streaming data
(e.g., vehicle movements) in a spatial context (e.g., intersections) over a complex domain
(e.g., a mobility ontology). In previous work, we have introduced simple aggregate
queries over mobility streams, which often do not suffice to capture more complex
movement patterns. Hence, we present an extension of the previous aggregation functions
with statistical and predictive functionality, which allows us to query more complex
mobility patterns such as road networks statistics, vehicles maneuvers, and temporal
connected events such as (potential) accidents. The extension is based on the newly
developed scenarios traffic statistics, vehicle maneuvers, and event detection. We have
defined a set of domain-specific features such as trajectory computation and spatial
matching, which are matched with the use cases and scenarios to define the requirements.</p>
      <p>Given by the new features, we extend our previous LDM ontology, the current
spatial-stream query language, and adjust our methods to take the features into account.
Further, we redesigned our system architecture and give insights in the new components
used for prediction and trajectory calculation.</p>
      <p>Future work. Currently, we are implementing the platform thoroughly and will provide
benchmarks based on a set of queries related to the three scenarios. As discussed in the
previous section, our ongoing and future research is directed to extend our language,
methods, and the platform to fulfill the defined requirements, which will allow to use the
platform in the mentioned scenarios.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Allen</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          :
          <article-title>Maintaining knowledge about temporal intervals</article-title>
          .
          <source>Commun. ACM</source>
          <volume>26</volume>
          (
          <issue>11</issue>
          ),
          <fpage>832</fpage>
          -
          <lpage>843</lpage>
          (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Andreone</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brignolo</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Damiani</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sommariva</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vivo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marco</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Safespot final report</article-title>
          .
          <source>Tech. Rep. D8.1</source>
          .
          <issue>1</issue>
          (
          <issue>2010</issue>
          ), available online.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Anicic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fodor</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rudolph</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stojanovic</surname>
          </string-name>
          , N.:
          <article-title>EP-SPARQL: a unified language for event processing and stream reasoning</article-title>
          .
          <source>In: Proc. of WWW 2011</source>
          . pp.
          <fpage>635</fpage>
          -
          <lpage>644</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Arasu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Babu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Widom</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The CQL continuous query language: semantic foundations and query execution</article-title>
          .
          <source>VLDB J</source>
          .
          <volume>15</volume>
          (
          <issue>2</issue>
          ),
          <fpage>121</fpage>
          -
          <lpage>142</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Artale</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kontchakov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kovtunova</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ryzhikov</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolter</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharyaschev</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>First-order rewritability of temporal ontology-mediated queries</article-title>
          .
          <source>In: Proc. of IJCAI 2015</source>
          . pp.
          <fpage>2706</fpage>
          -
          <lpage>2712</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Barbieri</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Braga</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ceri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valle</surname>
            ,
            <given-names>E.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grossniklaus</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>C-sparql: a continuous query language for rdf data streams</article-title>
          .
          <source>Int. J. Semantic Computing</source>
          <volume>4</volume>
          (
          <issue>1</issue>
          ),
          <fpage>3</fpage>
          -
          <lpage>25</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Beck</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dao-Tran</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fink</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>LARS: A logic-based framework for analyzing reasoning over streams</article-title>
          .
          <source>In: Proc. of AAAI 2015</source>
          . pp.
          <fpage>1431</fpage>
          -
          <lpage>1438</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Borgwardt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Lippmann,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Thost</surname>
          </string-name>
          ,
          <string-name>
            <surname>V.</surname>
          </string-name>
          :
          <article-title>Temporalizing rewritable query languages over knowledge bases</article-title>
          .
          <source>J. Web Sem</source>
          .
          <volume>33</volume>
          ,
          <fpage>50</fpage>
          -
          <lpage>70</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Brandt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalayci</surname>
            ,
            <given-names>E.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kontchakov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ryzhikov</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xiao</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharyaschev</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Ontology-based data access with a horn fragment of metric temporal logic</article-title>
          .
          <source>In: Proc. of AAAI 2017</source>
          . pp.
          <fpage>1070</fpage>
          -
          <lpage>1076</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Calbimonte</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mora</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O</given-names>
          </string-name>
          ´ .
          <article-title>: Query rewriting in RDF stream processing</article-title>
          .
          <source>In: Proc. of ESWC 2016</source>
          . pp.
          <fpage>486</fpage>
          -
          <lpage>502</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <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>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Tractable reasoning and efficient query answering in description logics: The dl-lite family</article-title>
          .
          <source>J. Autom. Reasoning</source>
          <volume>39</volume>
          (
          <issue>3</issue>
          ),
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nutt</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thorne</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Aggregate queries over ontologies</article-title>
          .
          <source>In: Proc. of ONISW 2008</source>
          . pp.
          <fpage>97</fpage>
          -
          <lpage>104</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Dell'Aglio</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valle</surname>
          </string-name>
          , E.D., van
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bernstein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Stream reasoning: A survey and outlook</article-title>
          .
          <source>Data Science</source>
          , IOS Press, (to appear) (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Dermaku</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ganzow</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McMahan</surname>
            ,
            <given-names>B.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musliu</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Samer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Heuristic methods for hypertree decomposition</article-title>
          .
          <source>In: Proc. of MICAI 2008: Advances in Artificial Intelligence</source>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Egenhofer</surname>
            ,
            <given-names>M.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franzosa</surname>
          </string-name>
          , R.D.:
          <article-title>Point set topological relations</article-title>
          .
          <source>International Journal of Geographical Information Systems</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <fpage>161</fpage>
          -
          <lpage>174</lpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krennwallner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schneider</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Lightweight spatial conjunctive query answering using keywords</article-title>
          .
          <source>In: Proc. of ESWC 2013</source>
          . pp.
          <fpage>243</fpage>
          -
          <lpage>258</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parreira</surname>
            ,
            <given-names>J.X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schneider</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Towards spatial ontology-mediated query answering over mobility streams</article-title>
          .
          <source>In: Proc. of Stream Reasoning Workshop 2016</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parreira</surname>
            ,
            <given-names>J.X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schneider</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Spatial ontology-mediated query answering over mobility streams</article-title>
          .
          <source>In: Proc. of ESWC 2017</source>
          . To appear (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Golab</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , O¨ zsu, M.T.:
          <article-title>Issues in data stream management</article-title>
          .
          <source>SIGMOD Rec</source>
          .
          <volume>32</volume>
          (
          <issue>2</issue>
          ),
          <fpage>5</fpage>
          -
          <lpage>14</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Klarman</surname>
          </string-name>
          , S., Meyer, T.:
          <article-title>Querying temporal databases via OWL 2 QL</article-title>
          . In
          <source>: Proc. of RR 2014</source>
          . pp.
          <fpage>92</fpage>
          -
          <lpage>107</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <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: ESWC 2010</source>
          . pp.
          <fpage>425</fpage>
          -
          <lpage>439</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Koymans</surname>
          </string-name>
          , R.:
          <article-title>Specifying real-time properties with metric temporal logic</article-title>
          .
          <source>Real-Time Systems</source>
          <volume>2</volume>
          (
          <issue>4</issue>
          ),
          <fpage>255</fpage>
          -
          <lpage>299</lpage>
          (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Le-Phuoc</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dao-Tran</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parreira</surname>
            ,
            <given-names>J.X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hauswirth</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A native and adaptive approach for unified processing of linked streams and linked data</article-title>
          .
          <source>In: ISWC 2011</source>
          . pp.
          <fpage>370</fpage>
          -
          <lpage>388</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Maier</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The Theory of Relational Databases</article-title>
          . Computer Science Press (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Netten</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kester</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wedemeijer</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Passchier</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Driessen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Dynamap: A dynamic map for road side its stations</article-title>
          .
          <source>In: Proc. of ITS World Congress</source>
          <year>2013</year>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Newson</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krumm</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>Hidden markov map matching through noise and sparseness</article-title>
          .
          <source>In: Proc. of ACM SIGSPATIAL</source>
          <year>2009</year>
          . pp.
          <fpage>336</fpage>
          -
          <lpage>343</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27. O¨zc¸ep,
          <string-name>
            <surname>O¨.L.,</surname>
          </string-name>
          <article-title>M o¨ller</article-title>
          , R.:
          <article-title>Scalable geo-thematic query answering</article-title>
          .
          <source>In: The Semantic Web - ISWC 2012 - 11th International Semantic Web Conference</source>
          , Boston, MA, USA, November
          <volume>11</volume>
          -
          <issue>15</issue>
          ,
          <year>2012</year>
          , Proceedings, Part I. pp.
          <fpage>658</fpage>
          -
          <lpage>673</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Perry</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jain</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>SPARQL-ST: extending SPARQL to support spatiotemporal queries</article-title>
          .
          <source>Geospatial Semantics and the Semantic Web</source>
          <volume>12</volume>
          ,
          <fpage>61</fpage>
          -
          <lpage>86</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Pnueli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The temporal logic of programs</article-title>
          .
          <source>In: Proc. of Annual Symposium on Foundations of Computer Science</source>
          <year>1977</year>
          . pp.
          <fpage>46</fpage>
          -
          <lpage>57</lpage>
          (
          <year>1977</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Quoc</surname>
            ,
            <given-names>H.N.M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Le</given-names>
            <surname>Phuoc</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.:</surname>
          </string-name>
          <article-title>An elastic and scalable spatiotemporal query processing for linked sensor data</article-title>
          .
          <source>In: Proc. of SEMANTICS 2015</source>
          . pp.
          <fpage>17</fpage>
          -
          <lpage>24</lpage>
          . ACM (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Randell</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <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>
          :
          <article-title>A spatial logic based on regions and connection</article-title>
          .
          <source>In: KR</source>
          . pp.
          <fpage>165</fpage>
          -
          <lpage>176</lpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Rodriguez-Muro</surname>
            ,
            <given-names>M.</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>Ontology-based data access: Ontop of databases</article-title>
          .
          <source>In: Proc. of ISWC 2013</source>
          . pp.
          <fpage>558</fpage>
          -
          <lpage>573</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Shimada</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yamaguchi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Takada</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sato</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Implementation and evaluation of local dynamic map in safety driving systems</article-title>
          .
          <source>J. Transportation Technologies</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <fpage>102</fpage>
          -
          <lpage>112</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <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: Proc. of OWLED</source>
          <year>2008</year>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Stonebraker</surname>
            , M.,
            <given-names>C</given-names>
          </string-name>
          ¸ etintemel, U.,
          <string-name>
            <surname>Zdonik</surname>
            ,
            <given-names>S.B.</given-names>
          </string-name>
          :
          <article-title>The 8 requirements of real-time stream processing</article-title>
          .
          <source>SIGMOD Record</source>
          <volume>34</volume>
          (
          <issue>4</issue>
          ),
          <fpage>42</fpage>
          -
          <lpage>47</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>