Generating Semantic Trajectories
Using a Car Signal Ontology
EURECOM & BMW Research, New Technologies,
Sophia Antipolis, France
Sophia Antipolis, France
BMW Research, New Technologies, Innovations
Sophia Antipolis, France
In this paper, we use semantic technologies for enriching trajectory
data in the automotive industry for oine analysis. We proposed
to re-use a combination of existing ontologies and we designed a
Vehicle Signal Specication ontology to provide an environment in
which we developed an application that analyzes the variations of
signal values and enables to infer the “driving smoothness” that we
represent as additional annotations of semantic trajectories.
•Information systems →
Geographic information systems;Sensor
Car Signal ; Ontology ; Semantic Trajectories ; VSS ; SOSA ; SSN
ACM Reference Format:
Benjamin Klotz, Raphaël Troncy, Daniel Wilms, and Christian Bonnet. 2018.
Generating Semantic Trajectories Using a Car Signal Ontology. In WWW
’18 Companion: The 2018 Web Conference Companion, April 23–27, 2018, Lyon,
France. ACM, New York, NY, USA, 4 pages. https://doi.org/10.1145/3184558.
Current and future automotive innovations are based on the inter-
connection of systems such as the vehicle, infrastructure back-ends
and external data sources. Taking autonomous driving as an exam-
ple, it has to rely on an intelligent and dynamic interconnection of
the vehicle’s data with knowledge about its environment despite
the diversity of sources, formats, and sensors involved. To tackle
the challenge of data integration and reuse in vehicular intelligent
interconnections, we use semantic technologies. Already largely
used on the web, especially by search engines which promote the
This paper is published under the Creative Commons Attribution 4.0 International
(CC BY 4.0) license. Authors reserve their rights to disseminate the work on their
personal and corporate Web sites with the appropriate attribution.
WWW ’18 Companion, April 23–27, 2018, Lyon, France
2018 IW3C2 (International World Wide Web Conference Committee), published
under Creative Commons CC BY 4.0 License.
ACM ISBN 978-1-4503-5640-4/18/04.
, semantic technologies are also more and
more used to integrate physical devices in the Internet of Things
and in the automotive industry
. Combining ontologies may enable
queries about complex driving contexts, including sensor values,
location, time and external data.
For simplication, we consider that there are two types of data
that can be linked to a vehicle: static and dynamic. Static data
corresponds to the car’s attributes such as its model, number of
wheels, dimensions and the list of embedded sensors. Dynamic data
is what car sensors produce on a continuous basis. It depends both
on time and space. In addition, embedded sensors only produce
dynamic data if they are instantiated in the static car attributes.
A number of ontologies can describe cars’ attributes and cong-
uration. This includes auto.schema.org, still in development and
based on four existing ontologies:
Car option ontology
for the commercial aspects of oers
for sale or rental. It contains 12 classes and 19 properties.
Vehicle sales ontology
(VSO) for describing cars, boats,
bikes, and other vehicles for e-commerce with 33 classes
and 54 properties.
Used cars ontology
for describing aspects of used cars for
e-commerce with 22 classes and 46 properties.
Volkswagen Vehicle Ontology
for describing Volkswagen-
specic features of automobiles with 30 classes and 50 prop-
erties. Its interest is limited to the domain of the e-commerce
for one brand.
Other ontologies can describe trajectories, and therefore dynamic
for describing semantic trajectories as succession
of sub-trajectories associated with points or regions, mostly
associated with the aircraft domain [
]. It contains 552 classes
and 273 properties.
for describing semantic trajectories as succession
of episodes associated with points or regions, mostly asso-
ciated with the automotive and tourism domain [
]. It has
more than 100 classes and 200 properties but is not available
(Semantic Trajectory EPisodes) for describing se-
mantic trajectories with dierent levels of granularity and
attach labels to them [
]. It contains 21 classes and 19 prop-
erties. It was developed using ontology design pattern [
for semantic trajectories [
] in order to be combined with
Movement Behavior Interpretation is a work aiming at se-
mantically add labels in the domain of tourism to moving
people . The ontology is also not available online.
Some other initiatives tackle specic challenges, especially in
the domain of ADAS (Advanced Driving Assistance Systems) and
context modeling. The Toyota TTI Core ontologies
hicle sensors, controls and roads with a core set of signals and
congurations used in ADAS for future autonomous vehicles [
In the domain of context-aware services, some work have resulted
in ontologies for some essential sensors and entities interacting
with the vehicle [
]. DFKI developed an automotive vocabulary
in order to represent knowledge inside a vehicle and exchange
it with other vehicles [
]. It is contextual with sensors, detected
events, as well as user-related with preferences and observations
of behavior. The Ontology for Context Modeling (OCM) is focus-
ing on inferences about a driving context in persuasive computing
A missing aspect from these initiatives is the representation of
a complete car sensor and signal ontology. This gap limits inno-
vations to either automotive domain experts or to a restricted set
of well-known signals and sensors. A second missing aspect is the
representation of semantic trajectories enriched with car attributes
and sensor data for non-specic applications.
In this paper, we aim to answer to the research question: How
should we best combine both static and dynamic car data in order to
annotate semantic trajectories and link that to external knowledge?.
We will focus on two main use cases: generate segments of trajec-
tory annotated according to the evolution of a given signal value,
and a “smooth” driving percentage label attached to a trajectory
when longitudinal and angular acceleration are bound.
Our research is divided into two directions for solving the chal-
lenge of data ow access and querying using RDF. In the rst case,
we only store a sliding window of observations, adding and remov-
ing RDF triples on the y and aim for stream reasoning [
], while in
the second case, we never remove triples. We focus in this paper on
the second case since we are interested in having access to history
in our queries.
The remaining of this paper is organized as follows. In Section 2,
we introduce the so-called Vehicle Signal Specication ontology
(VSSo). In Section 3, we present the demonstrated application com-
bining VSSo with SOSA/SSN and STEP. In Section 4, we compare
this combination of ontologies with other initiatives for evaluating
its interest and highlight the usage it enables.
2 DESIGN OF THE VSS ONTOLOGY
In order to represent observation of car signals, we adopt the new
which is a joint W3C and OGC recommen-
dation . We need to describe car signals and car sensors. Even
though there have been some projects such as [
] proposing auto-
motive ontologies, they only partially cover the domain (e.g. assis-
tance and diagnostic of vehicles). The W3C Automotive Working
intends to develop Open Web Platform specications for
exposing vehicle signal information and uses the Vehicle Signal
(VSS) from GENIVI as signal vocabulary. The VSS is
a common naming space to decouple the vehicle electrical network
from its original representation to exchange data with third parties.
It contains an extensive set of vehicle parts and signals, dened by
a name, comment, unit and format.
First, we complement the VSS by dening sensor entries for
signals. This is not included in the current specication. Then, in
order to create RDF triples representing the car Attributes,Signals,
Sensors/Actuators,Branches and Units from VSS, we use a converter
from JSON to turtle based on an existing work [
] and the rdf-ext
JS library. The generated VSSo ontology
contains 311 classes and
6 properties and uses OWL-Lite for its restrictions on sensors and
units. Classes are either
organized in a tree structure
with the property vss:partOf, or Signals.
This automatic generation is not enough. Several signals share
the same name (e.g. “Switch”) while representing dierent concepts.
Many signals are observable but not actuable, while we dene
are not produced nor consumed by a sensor/actuator (e.g attached
to the infotainment system): they will be dened with a
to be compliant with the SOSA pattern. For the rest
of them, sensors and actuators are technology-independent inter-
mediate objects. The branch “Vehicle” describes terms related to
the general vehicle and is moved on to of all other branches. The
position of branches (e.g. Mirror.Right.Tilt) is dened as a property
vss:hasPosition of certain branches.
Listing 1 is an extract from VSSo describing
, a signal measured by a
with the unit
Listing 1: VSSo sample: TraveledDistance signal
v ss : Tr a v e l l e d D i s t a n c e a rd f s : Cl a s s , owl : C l as s ;
r d f s : l a b e l " T r a v e l l e d D i s t a n c e " @en ;
r d f s : com men t " S i g n a l . D r i v e t r a i n . T r a n s m i s s i o n . T r a v e l l e d −
D i s t a n c e . O do me te r re a d i n g . " @en ;
r d f s : s u b C l a s s O f v s s : S i g n a l ;
r d f s : s u b C l a s s O f
[ a owl : R e s t r i c t i o n ;
ow l : o n P r o p e rt y s o s a : is O b s e r v e d B y ;
ow l : a l l V a l u e s F r o m v s s : O do me te r . ] ,
[ a owl : R e s t r i c t i o n ;
ow l : o nP ro pe rt y qud t −1−1: u n i t ;
ow l : a l l V a l u e s F r o m q u dt −u ni t −1−1: K i l o m e t e r . ] .
By linking SOSA/SSN to VSSo, we generate RDF triples of obser-
vations of vehicle signals and may attach them to a spatiotemporal
context using the STEP ontology.
In this demonstration, one will control a simulated vehicle, and
will observe signal values that would be automatically transformed
into RDF to enrich a semantic trajectory. This is used to infer labels
about the driver attached to episodes of the trajectory. Labels will
also be visualized: variations of signal values in order to infer a
“smooth” driving label.
We developed a python Flask
server combining SOSA/SSN for
observations, VSS for the car signal domain and STEP for the trajec-
tory description. It uses a vehicle conguration le containing a list
of known signals as well as URIs to access their values. The data
source can be real vehicle data in the backend where we access a
subset of pre-selected signals, or a vehicle simulator. In this demon-
stration, we use the OpenXC vehicle simulator
which runs on a
local server, provides a control interface (pedals, steering wheel,
gear...), and generates a JSON le of signal values with a frequency
of 100Hz. The following steps are handled by our application:
Add attributes. It reads the vehicle conguration le and gen-
erates a graph representing the static vehicle as it is done in the
e-commerce domain extended with annotations about the signal
and its unit. The vehicle conguration le is parsed to extract a list
of known signals. A blank node is created to represent the vehicle,
and for each signal, the VSS is queried for the signal’s unit, label
and dedicated sensor. This query is done by using triple pattern
which minimize server processing in comparison to
SPARQL. For each signal, the sensor is also a
Listing 2: Car with a speed sensor as RDF triples
@ pr ef ix q u dt : < h tt p : / / www. q ud t . o rg / 1 . 1 / s che ma / q u dt \ # > .
@ pr e f ix u n i t : < h t t p : / / www. qu d t . o r g / 1 . 1 / vo c ab / u n i t \ # > .
@ pr e fi x r d f s : < h t t p : / / www. w3 . or g / 2 0 0 0 / 0 1 / r d f −sc he ma \ # > .
@ pr e f i x s o s a : < h t t p : / / www. w3 . or g / n s / s o s a / > .
@ pr e f ix v so : < h t t p : / / www. p u r l . or g / vs o / ns \ # > .
@ pr e f ix v s s : < h t t p : / / a u t o mo t i v e . e ur e co m . f r / v s s o # > .
v s s : V e h i c l e S p e e d a s o s a : Ob s e r v a b l e P r o p e r t y ;
r d f s : l a b e l " S pe ed " ;
q ud t : U n i t u n i t : K i lo m e t e rP e r H ou r .
[ ] a ge o : F e at u r e , v s o : A u to mo b il e , s o s a : F e a t u r e O f I n t e r e s t ;
vs o : f e a t u r e [ a v s s : S p ee do m et er ,
vso: FeatureValue ;
s o s a : o b s e r v e s v s s : Ve h i c l e S p e e d ] .
Add observations. It reads signal values and extends the static
graph with observations based on observed signal instances. For
a given time span and frequency for a set of known signals, we
request the source to retrieve values. URIs and paths are set in
the conguration le, and the source is expected to be a JSON le.
Then, an instance of type
is created and linked
to its signal and sensor. The retrieved value is expressed using the
Figure 1: Steering wheel angle visualized with 3 color
known unit, as well as location and time of its FixPoint. Each in-
has the car node as
Add trajectory. It creates a trajectory instance, composed of a
raw trajectory (list of FixPoints), and generates labeled segments.
First, an instance of
instance is created with the car node as
it is lled with spatiotemporal FixPoints when Observations are
Graph reduction. It extracts trajectories annotated with signal
values by serializing the graph into a CSV le with the format:
(latitude ,lonдitude,t ime,[values])
With a given set of signals, a SPARQL query retrieves a set
of values: (latitude, longitude, time, [signals]). This is especially
relevant for reusing existing trajectory mining algorithms that do
not rely on linked data.
Segment labeling. It adds labels on segments based on simple
From a graph containing observations, we dene labels based on
simple comparative rules and create
instances in the
. They can be qualitative, quantitative or both.
For instance the “smooth” driving label is dened by a longitudinal
and angular acceleration being within given bounds. All segments
that t this requirement are labeled “smooth”, while the others are
labeled “not smooth”.
Plot x points and segments. It displays observation points as
markers, as well as colored segments based on simple comparative
rules and using Google maps with Flask19.
For instance, with a conguration le describing three signals:
VehicleSpeed,EngineSpeed and TravelledDistance, it creates a graph
with an instance of
having three sensors linked
by the property
. We observe the Speed signal and
extract a trajectory annotated with Speed values.
We add a rule to label a segment between two observations, e.g.
Acceleration,Deceleration or ConstantSpeed based on the dierence
of speed between the two observations and display the trajectory
on a map with three colors depending on the segments labels.
Table 1: Comparison of the dierent initiatives in regard to the hypothesis: we can enable semantic trajectory enrichments
with signal values for generic applications
Initiative Automotive domain Sensor coverage Semantics Trajectory enrichment Generic
auto.schema.org and its sources Yes Limited Yes No Yes
DatAcron No No Yes Yes No
Baquara2No No Yes Yes No
Movement Behavior No No Yes Yes No
STEP No No Yes No Yes
Toyota TTI Core Yes Limited Yes No Yes
Context-aware services Yes Limited Yes Limited No
DFKI Yes Limited Limited No Yes
OCM Yes Limited Limited No Limited
VSSo+SOSA/SSN+STEP Yes Yes Yes Yes Yes
4 COMPARISON AND USAGE
Our hypothesis being that we can enable semantic trajectory enrich-
ments with signal values for generic applications, there are many
initiatives that solve partially the problem, but not completely as
visible in Table 1. The representations of static car data focus on
the e-commerce domain and do not describe dynamic data. The
trajectory representations tend to be dened for specic applica-
tions and domains and neither cover static nor dynamic car data.
The contextual representations of cars are an interesting trade-o
between static and dynamic car data but have a limited interest in
trajectory representation and work only for non-generic use case
With respect to our hypothesis, we see that the combination of
VSSo, SOSA/SSN and STEP lls dierent gaps from the existing
initiatives and ts the requirements to enable our use cases: it covers
the automotive domain and its sensor vocabulary with semantics
and trajectory enrichment for generic applications.
This new representation allows web developers to query and
integrate car data with only conventional signal names. Therefore
it enables the development of applications based on the correlation
between what is inferred from car data and external information.
For instance, the correlation between a distraction label, inferred
from car sensors, and events happening around the vehicle, or
between aggressiveness and trac jams.
In this paper, we have seen how RDF can be used to represent
attributes and signals for a car, and that this solution enables queries
on the complete domain for semantic web developers and non
domain experts. We will improve this demonstration with the future
improvements of auto.schema.org on context-awareness. Future
work will focus on working with online graphs generated on-the-
y and the possibility of interaction with the vehicle for smart
A. Armand, D. Filliat, and J. IbaÃśez-Guzman. 2014. Ontology-based context
awareness for driving assistance systems. In IEEE Intelligent Vehicles Symposium
Miriam Baglioni, Jose Macedo, Chiara Renso, Roberto Trasarti, and M Wachowicz.
2009. Towards Semantic Interpretation of Movement Behavior. In 12
Conference, Advances in GIScience. 271–288.
 Victor Charpenay. 2016. Build a OWL ontology from VSS. (2016). unpublished.
Daniele Dell’Aglio, Emanuele Della Valle, Frank van Harmelen, and Abraham
Bernstein. 2017. Stream Reasoning: a Survey and Outlook: A summary of ten
years of research and a vision for the next decade. Data Science Journal 1, 1-2
Michael Feld and Christian Müller. 2011. The Automotive Ontology: Managing
Knowledge Inside the Vehicle and Sharing it Between Cars. In 3
Conference on Automotive User Interfaces and Interactive Vehicular Applications.
Salzburg, Austria, 79–86.
Renato Fileto, Cleto May, Chiara Renso, Nikos Pelekis, Douglas Klein, and Yannis
Theodoridis. 2015. The Baquara2 knowledge-based framework for semantic
enrichment and analysis of movement data. Data & Knowledge Engineering 98
Aldo Gangemi. 2005. Ontology Design Patterns for Semantic Web Content. 262–
Santipantakis Georgios, VourosGeorge, Doulkeridis Christos, Vlachou Akrivi, An-
drienko Gennady, Andrienko Natalia, Cordero Jose Manuel, and Martinez Miguel
Garcia. 2017. Specication of Semantic Trajectories and Data Transformations for
Analytics: The datAcron Ontology. In 13
International Conference on Semantics
Yingjie Hu, Krzysztof Janowicz, David Carral, Simon Scheider, Werner Kuhn,
Gary Berg-Cross, Pascal Hitzler, Mike Dean, and Dave Kolas. 2013. A Geo-
ontology Design Pattern for Semantic Trajectories. In Spatial Information Theory,
Thora Tenbrink, John Stell, Antony Galton, and Zena Wood (Eds.). Springer
International Publishing, Cham, 438–456.
Krzysztof Janowicz, Simon Cox, Kerry Taylor, Danh Le Phuoc, Maxime Lefrançois,
and Armin Haller. 2017. Semantic Sensor Network Ontology. W3C Recommenda-
Mohcine Madkour and Abdelilah Maach. 2011. Ontology-based context modeling
for vehicle context-aware services. 31 (2011).
Tales Paiva Nogueira. 2017. A Framework for Automatic Annotation of Semantic
Trajectories. Ph.D. Dissertation. Université Grenoble Alpes.
Michele Ruta, Floriano Scioscia, Filippo Gramegna, and Eugenio Di Sciascio. 2010.
A Mobile Knowledge-based System for On-Board Diagnostics and Car Driving
Assistance. In 4
International Conference on Mobile Ubiquitous Computing,
Systems, Services and Technologies (UBICOMM).
Z. Xiong, V. V. Dixit, and S. T. Waller. 2016. The development of an Ontology for
driving Context Modelling and reasoning. In IEEE 19th International Conference
on Intelligent Transportation Systems (ITSC). 13–18.
Lihua Zhao, Ryutaro Ichise, Seiichi Mita, and Yutaka Sasaki. 2015. Core Ontologies
for Safe Autonomous Driving. In 14
International Semantic Web Conference,
Posters and Demos Track (ISWC).