SlideShare ist ein Scribd-Unternehmen logo
1 von 37
'
&
$
%
Modeling and Querying Metadata in the
Semantic Sensor Web: stRDF and stSPARQL
Manolis Koubarakis
Kostis Kyzirakos
Manos Karpathiotakis
Dept. of Informatics and Telecommunications
National and Kapodistrian University of Athens
Dagstuhl SSN 26/01/2010
'
&
$
%
Talk Outline
• Motivation
• The Data Model stRDF
• The Query Language stSPARQL
• Implementation
• Future Work
Dagstuhl SSN 26/01/2010
'
&
$
%
Motivation
• The vision of the Semantic Sensor Web: annotate sensor
data and services to enable discovery, integration,
interoperability etc. (Sheth et al. 2008, SemsorGrid4Env)
• Sensor annotations involve thematic, spatial and temporal
metadata. Examples:
– The sensor measures temperature. (thematic)
– The sensor is located in the location represented by point
(A, B). (spatial)
– The sensor measured −30
Celsius on 26/01/2010 at
03:00pm. (temporal)
• RDF can represent thematic metadata. How about spatial and
temporal metadata?
Dagstuhl SSN 26/01/2010
'
&
$
%
Previous Work
• Time in RDF (Gutierrez and colleagues, 2005).
• SPARQL-ST (Perry, 2008).
• SPAUK (Kollas, 2007)
Dagstuhl SSN 26/01/2010
'
&
$
%
Our Approach
• Use ideas from constraint databases (Kanellakis, Kuper and
Revesz, 1991). Slogan: What’s in a tuple? Constraints.
• Extend RDF to a constraint database model. Slogan: What’s
in a triple? Constraints.
• Extend SPARQL to a constraint query language.
• Follow exactly the approach of CSQL (Kuper et al., 1998).
• Use linear constraints to represent spatial and temporal
metadata.
Dagstuhl SSN 26/01/2010
'
&
$
%
Spatial Metadata
• We start with a FO language L = {≤, +} ∪ Q over the structure
Q = Q, ≤, +, (q)q∈Q .
• Atomic formulae: linear equations and inequalities of the form
(
p
i=1
aixi)Θa0
where Θ is one of =, ≤ or <.
• Semi-linear point sets: sets that can be defined by quantifier-free
formulas of L.
Dagstuhl SSN 26/01/2010
'
&
$
%
Example
(−x + 1.363636y < −5.272576 ∧ x − 0.090909y < 131.818133 ∧ y <
79 ∧ −y < −13) ∨ (y < 13 ∧ x < 133 ∧ −x − 1.5y < −128.5)
Dagstuhl SSN 26/01/2010
'
&
$
%
The sRDF data model
• Let I, B and L be the sets of IRIs, blank nodes and literals.
• Let Ck be the set of quantifier-free formulae of L with k free
variables (k = 1, 2, . . .).
• Let C be the infinite union C1 ∪ C2 ∪ · · ·.
• An sRDF triple is an element of the set
(I ∪ B) × I × (I ∪ B ∪ L ∪ C).
• An sRDF graph is a set of sRDF triples.
• sRDF can be realized as an extension of RDF with a new kind
of typed literals: quantifier-free formulae with linear
constraints. The datatype of these literals is
strdf:SemiLinearPointSet.
Dagstuhl SSN 26/01/2010
'
&
$
%
Example of sRDF graph
ex:s1 rdf:type, ex:Sensor .
ex:s1 ex:has_location "x=40 and y=15"^^strdf:SemiLinearPointSet .
Dagstuhl SSN 26/01/2010
'
&
$
%
Introducing Time
• Time structure: the set of rational numbers Q (i.e., time is
assumed to be linear, dense and unbounded).
• Temporal constraints are expressed by quantifier-free formulas
of the language L defined earlier, but their syntax is limited to
elements of the set C1.
• Atomic temporal constraints: formulas of L of the
following form: x ∼ c, where x is a variable, c is a rational
number and ∼ is <, ≤, ≥, >, = or =.
• Temporal constraints: Boolean combinations of atomic
temporal constraints using a single variable.
Dagstuhl SSN 26/01/2010
'
&
$
%
Example
1 5 10 12 15
t = 1 ∨ (t ≥ 5 ∧ t ≤ 10) ∨ (t ≥ 12 ∧ t ≤ 15)
Dagstuhl SSN 26/01/2010
'
&
$
%
The stRDF data model
stRDF extends sRDF with the ability to represent the valid time
of a triple:
• An stRDF quad (a, b, c, τ) is an sRDF triple (a, b, c) with a
fourth component τ which is a temporal constraint.
• An stRDF graph is a set of sRDF triples and stRDF quads.
Dagstuhl SSN 26/01/2010
'
&
$
%
Example of stRDF graph
ex:obs1Result om:uom ex:Celcius .
ex:obs1Result om:value "27"
"(10 <= t <= 11)"^^strdf:SemiLinearPointSet .
Dagstuhl SSN 26/01/2010
'
&
$
%
The Query Language stSPARQL
• Syntactic extension of SPARQL
• Formal semantics
• Closure
• Computability
• Low data complexity
• Efficient implementation
Dagstuhl SSN 26/01/2010
'
&
$
%
Example - Dataset I
Sensor metadata using the SSN ontology:
ex:sensor1 rdf:type ssn:Sensor .
ex:sensor1 ssn:measures ex:temperature .
ex:temperature rdf:type ssn:PhysicalQuality .
ex:sensor1 ssn:supports ex:grounding1 .
ex:grounding1 rdf:type ssn:SensorGrounding .
ex:grounding1 ssn:hasLocation ex:location1 .
ex:location1 rdf:type ssn:Location .
ex:location1 strdf:hasGeometry
"x=40 and y=15"^^strdf:SemiLinearPointSet .
ex:sensor2 rdf:type ssn:Sensor .
Dagstuhl SSN 26/01/2010
'
&
$
%
Queries - Dataset I
Spatial selection. Find the URIs of the sensors that are inside the
rectangle R(0, 0, 100, 100)?
select ?S
where { ?S rdf:type ssn:Sensor .
?G rdf:type ssn:SensorGrounding .
?L rdf:type ssn:Location .
?S ssn:supports ?G .
?G ssn:haslocation ?L .
?L strdf:hasGeometry ?GEO .
filter(?GEO inside "0<=x<=100 and 0<=y<=100") }
Dagstuhl SSN 26/01/2010
'
&
$
%
Answer
?S
ex:sensor1
Dagstuhl SSN 26/01/2010
'
&
$
%
Queries - Dataset I
Spatial selection with OPTIONAL. Find the URIs of the sensors that
optionally has a grounding that has a location which is inside the rectangle
R(0, 0, 100, 100)?
select ?S ?GEO
where { ?S rdf:type ssn:Sensor .
optional {
?G rdf:type ssn:SensorGrounding .
?L rdf:type ssn:Location .
?S ssn:supports ?G .
?G ssn:haslocation ?L .
?L strdf:hasGeometry ?GEO .
filter(?GEO inside "0<=x<=100 and 0<=y<=100") } }
Dagstuhl SSN 26/01/2010
'
&
$
%
Answer
?S ?GEO
ex:sensor1 "x=40 and y=15"^^strdf:SemiLinearPointSet
ex:sensor2
Dagstuhl SSN 26/01/2010
'
&
$
%
Example - Dataset II
Sensor observation metadata using the O&M ontology:
ex:sensor1 rdf:type ex:TemperatureSensor .
ex:TemperatureSensor rdfs:subClassOf om:Sensor .
ex:obs1 rdf:type om:Observation .
ex:obs1 om:procedure ex:sensor1 .
ex:obs1 om:observedProperty ex:temperature .
ex:temperature rdf:type om:Property .
ex:obs1 om:observationLocation ex:obslocation1 .
ex:obslocation1 rdf:type om:Location .
ex:obslocation1 strdf:hasGeometry
"x=40 and y=15"^^strdf:SemiLinearPointSet .
ex:obs11 om:result ex:obs1Result .
ex:obs1Result rdf:type om:ResultData .
ex:obs1Result om:uom ex:Celcius .
ex:obs1Result om:value "27"
"(10 <= t <= 11)"^^strdf:SemiLinearPointSet .
Dagstuhl SSN 26/01/2010
'
&
$
%
Example - Dataset II (cont’d)
Metadata about geographical areas:
ex:area1 rdf:type ex:RuralArea .
ex:area1 ex:hasName "Brovallen" .
ex:area1 strdf:hasGeometry
"(-x+1.363636y<-5.272576 and y<79 and -y<-13 and
x-0.090909y<131.818133) or (y<13 and x<133 and
-x-1.5y<-128.5)"^^strdf:SemiLinearPointSet .
Dagstuhl SSN 26/01/2010
'
&
$
%
Queries - Dataset II
Spatial and temporal selection. Find the values of all observations that
were valid at time 11 and the rural area they refer to.
select ?V ?RA
where { ?OBS rdf:type om:Observation .
?LOC rdf:type om:Location .
?R rdf:type om:ResultData .
?RA rdf:type ex:RuralArea .
?OBS om:observationLocation ?LOC .
?LOC strdf:hasGeometry ?OBSLOC .
?OBS om:result ?R .
?R om:value ?V ?T .
?RA strdf:hasGeometry ?RAGEO .
filter(?T contains "t = 11" && ?RAGEO contains ?OBSLOC) }
Dagstuhl SSN 26/01/2010
'
&
$
%
Answer
?V ?RA
"27" ex:area1
Dagstuhl SSN 26/01/2010
'
&
$
%
Example - Dataset III
Moving sensor metadata using the SSN ontology:
ex:sensor2 rdf:type ssn:Sensor .
ex:sensor2 ssn:measures ex:temperature .
ex:sensor2 ssn:supports ex:grounding2 .
ex:grounding2 rdf:type ssn:SensorGrounding .
ex:grounding2 ssn:hasLocation ex:location2 .
ex:location2 rdf:type ssn:Location .
Dagstuhl SSN 26/01/2010
'
&
$
%
Example - Dataset III (cont’d)
ex:location2 strdf:hasTrajectory
"(x=10t and y=5t and 0<=t<=5) or
(y=5t and x=50 and 25<=y<=50)"^^strdf:SemiLinearPointSet.
Dagstuhl SSN 26/01/2010
'
&
$
%
Example - Dataset III (cont’d)
Metadata about geographical areas:
ex:area1 rdf:type ex:RuralArea .
ex:area1 ex:hasName "Brovallen" .
ex:area1 strdf:hasGeometry
"(-x+1.363636y<-5.272576 and y<79 and -y<-13 and
x-0.090909y<131.818133) or (y<13 and x<133 and
-x-1.5y<-128.5)"^^strdf:SemiLinearPointSet .
Dagstuhl SSN 26/01/2010
'
&
$
%
Queries - Dataset III
Intersection of an area with a trajectory. Which areas of Brovallen
were sensed by a moving sensor and when?
select (?TR[1,2] INTER ?GEO) as ?SENSEDAREA ?GEO[3]
where { ?SN rdf:type ssn:Sensor .
?Y rdf:type ssn:Location .
?X rdf:type ssn:SensorGrounding .
?RA rdf:type ex:RuralArea .
?SN ssn:supports ?X .
?X ssn:hasLocation ?Y .
?Y strdf:hasTrajectory ?TR .
?RA ex:hasName "Brovallen" .
?RA strdf:hasGeometry ?GEO .
filter(?TR[1,2] overlap ?GEO) }
Dagstuhl SSN 26/01/2010
'
&
$
%
Answer
?SENSEDAREA ?T1
"((y=0.5x and 0<=x<=50) or
(x=50 and 25<=y<=50)) and
((y<79 and -y<-13 and
-x+1.363636y<-5.272576 and
x-0.090909y<131.818133) or
(y<13 and x<133 and
-x-1.5y<-128.5))"
^^strdf:SemiLinearPointSet
"0 <= t <= 10"
^^strdf:SemiLinearPointSet.
Dagstuhl SSN 26/01/2010
'
&
$
%
One More Query
Projection and spatial function application. Find the URIs of the
sensors that are north of Brovallen.
select ?SN
where { ?SN rdf:type ssn:Sensor .
?X rdf:type ssn:SensorGrounding .
?RA rdf:type ex:RuralArea .
?SN ssn:supports ?X .
?X ssn:hasLocation ?Y .
?Y strdf:hasGeometry ?SN_LOC .
?RA ex:hasName "Brovallen".
?RA strdf:hasGeometry ?GEO .
filter(MAX(?GEO[2])<MIN(?SN_LOC[2])) }
Dagstuhl SSN 26/01/2010
'
&
$
%
Answer
?SN
Dagstuhl SSN 26/01/2010
'
&
$
%
What Else is There in stSPARQL Syntax?
• k-ary spatial terms
“(x ≥ 1 ∧ x = y) ∨ y = 7”
?GEO ∩ “(x ≥ 1 ∧ x = y) ∨ y = 7”
BD(?GEO ∩ “(x ≥ 1 ∧ x = y) ∨ y = 7”)
“(x ≥ 1 ∧ x ≤ 10 ∧ y ≥ 0 ∧ x = z)”[1, 2] ∩ “(z ≥ 0 ∧ z ≤ 10)”
• Metric spatial terms
AREA(“(x ≥ 1 ∧ x ≤ 10 ∧ y ≥ 0 ∧ x = y)”)
MIN(“(x ≥ 1 ∧ x ≤ 10 ∧ y ≥ 0 ∧ x = y)”[1])
• Spatial and temporal selection predicates
Dagstuhl SSN 26/01/2010
'
&
$
%
stSPARQL Semantics
• Extension of the SPARQL semantics of (Perez et al., 2006).
– Extend the concept of mapping.
– The semantics of AND, OPT, UNION remain the same.
– We need to define carefully the evaluation of spatial terms
and the semantics of spatial and temporal filters.
Dagstuhl SSN 26/01/2010
'
&
$
%
The System Strabon
PostGIS
Query Engine
Parser
Optimizer
Evaluator
Transaction
Manager
Storage Manager
Repository
SAIL
RDBMS
Convex
Partitioner
Constraint Engine
Constraint
Solver
Representation
Translator
Dagstuhl SSN 26/01/2010
'
&
$
%
Implementation Details: Store
DNF
Constraints
(at most 2 vars)
PostGIS
Vectorspace
cddliborbital
Dagstuhl SSN 26/01/2010
'
&
$
%
Implementation Details: Query
Parser Optimizer
Query
Processor
stSPARQL
query
results
PostGIS
Vector to
Constraints
Dagstuhl SSN 26/01/2010
'
&
$
%
Strabon in SemsorGrid4Env
PostGIS
Query
Engine
Storage
Manager
Constraint
EngineMetadata provider
Metadata consumer
Strabon
Service
Registration
Query
Semantic Registration
and Discovery Service
Dagstuhl SSN 26/01/2010
'
&
$
%
Future Work
• Complete the theory (complexity results).
• Complete the implementation (see demo for what works now).
• Integrate with the rest of SemsorGrid4Env architecture
components.
• Incomplete information (use the blank nodes for a bit more
than what they are currently used).
• OWL 2 and constraints?
Dagstuhl SSN 26/01/2010

Weitere ähnliche Inhalte

Was ist angesagt?

A25.8 modelingquads
A25.8 modelingquadsA25.8 modelingquads
A25.8 modelingquads
vhiggins1
 
lecture 11
lecture 11lecture 11
lecture 11
sajinsc
 
20070823
2007082320070823
20070823
neostar
 

Was ist angesagt? (20)

CLIM Fall 2017 Course: Statistics for Climate Research, Estimating Curves and...
CLIM Fall 2017 Course: Statistics for Climate Research, Estimating Curves and...CLIM Fall 2017 Course: Statistics for Climate Research, Estimating Curves and...
CLIM Fall 2017 Course: Statistics for Climate Research, Estimating Curves and...
 
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
 
Implementation of Thorup's Linear Time Algorithm for Undirected Single Source...
Implementation of Thorup's Linear Time Algorithm for Undirected Single Source...Implementation of Thorup's Linear Time Algorithm for Undirected Single Source...
Implementation of Thorup's Linear Time Algorithm for Undirected Single Source...
 
A25.8 modelingquads
A25.8 modelingquadsA25.8 modelingquads
A25.8 modelingquads
 
lecture 11
lecture 11lecture 11
lecture 11
 
20070823
2007082320070823
20070823
 
Hyperparameter optimization with approximate gradient
Hyperparameter optimization with approximate gradientHyperparameter optimization with approximate gradient
Hyperparameter optimization with approximate gradient
 
CLIM Fall 2017 Course: Statistics for Climate Research, Detection & Attributi...
CLIM Fall 2017 Course: Statistics for Climate Research, Detection & Attributi...CLIM Fall 2017 Course: Statistics for Climate Research, Detection & Attributi...
CLIM Fall 2017 Course: Statistics for Climate Research, Detection & Attributi...
 
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...
 
Claire98
Claire98Claire98
Claire98
 
CLIM Fall 2017 Course: Statistics for Climate Research, Geostats for Large Da...
CLIM Fall 2017 Course: Statistics for Climate Research, Geostats for Large Da...CLIM Fall 2017 Course: Statistics for Climate Research, Geostats for Large Da...
CLIM Fall 2017 Course: Statistics for Climate Research, Geostats for Large Da...
 
CLIM Fall 2017 Course: Statistics for Climate Research, Climate Informatics -...
CLIM Fall 2017 Course: Statistics for Climate Research, Climate Informatics -...CLIM Fall 2017 Course: Statistics for Climate Research, Climate Informatics -...
CLIM Fall 2017 Course: Statistics for Climate Research, Climate Informatics -...
 
2014-06-20 Multinomial Logistic Regression with Apache Spark
2014-06-20 Multinomial Logistic Regression with Apache Spark2014-06-20 Multinomial Logistic Regression with Apache Spark
2014-06-20 Multinomial Logistic Regression with Apache Spark
 
Gibbs flow transport for Bayesian inference
Gibbs flow transport for Bayesian inferenceGibbs flow transport for Bayesian inference
Gibbs flow transport for Bayesian inference
 
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
 
talk MCMC & SMC 2004
talk MCMC & SMC 2004talk MCMC & SMC 2004
talk MCMC & SMC 2004
 
Masters Thesis Defense Presentation
Masters Thesis Defense PresentationMasters Thesis Defense Presentation
Masters Thesis Defense Presentation
 
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
 
03.01 hash tables
03.01 hash tables03.01 hash tables
03.01 hash tables
 
Program on Mathematical and Statistical Methods for Climate and the Earth Sys...
Program on Mathematical and Statistical Methods for Climate and the Earth Sys...Program on Mathematical and Statistical Methods for Climate and the Earth Sys...
Program on Mathematical and Statistical Methods for Climate and the Earth Sys...
 

Ähnlich wie Modeling and Querying Metadata in the Semantic Sensor Web: stRDF and stSPARQL

ECO_TEXT_CLUSTERING
ECO_TEXT_CLUSTERINGECO_TEXT_CLUSTERING
ECO_TEXT_CLUSTERING
George Simov
 
A New Enhanced Method of Non Parametric power spectrum Estimation.
A New Enhanced Method of Non Parametric power spectrum Estimation.A New Enhanced Method of Non Parametric power spectrum Estimation.
A New Enhanced Method of Non Parametric power spectrum Estimation.
CSCJournals
 
Representing and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic WebRepresenting and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic Web
Kostis Kyzirakos
 

Ähnlich wie Modeling and Querying Metadata in the Semantic Sensor Web: stRDF and stSPARQL (20)

Text Mining Applied to SQL Queries: a Case Study for SDSS SkyServer
Text Mining Applied to SQL Queries: a Case Study for SDSS SkyServerText Mining Applied to SQL Queries: a Case Study for SDSS SkyServer
Text Mining Applied to SQL Queries: a Case Study for SDSS SkyServer
 
RSP-QL*: Querying Data-Level Annotations in RDF Streams
RSP-QL*: Querying Data-Level Annotations in RDF StreamsRSP-QL*: Querying Data-Level Annotations in RDF Streams
RSP-QL*: Querying Data-Level Annotations in RDF Streams
 
Getting started with chemometric classification
Getting started with chemometric classificationGetting started with chemometric classification
Getting started with chemometric classification
 
MUMS Undergraduate Workshop - Parameter Selection and Model Calibration for a...
MUMS Undergraduate Workshop - Parameter Selection and Model Calibration for a...MUMS Undergraduate Workshop - Parameter Selection and Model Calibration for a...
MUMS Undergraduate Workshop - Parameter Selection and Model Calibration for a...
 
SSN-TC workshop talk at ISWC 2015 on Emrooz
SSN-TC workshop talk at ISWC 2015 on EmroozSSN-TC workshop talk at ISWC 2015 on Emrooz
SSN-TC workshop talk at ISWC 2015 on Emrooz
 
ECO_TEXT_CLUSTERING
ECO_TEXT_CLUSTERINGECO_TEXT_CLUSTERING
ECO_TEXT_CLUSTERING
 
Сергей Кольцов —НИУ ВШЭ —ICBDA 2015
Сергей Кольцов —НИУ ВШЭ —ICBDA 2015Сергей Кольцов —НИУ ВШЭ —ICBDA 2015
Сергей Кольцов —НИУ ВШЭ —ICBDA 2015
 
Incremental and Multi-feature Tensor Subspace Learning applied for Background...
Incremental and Multi-feature Tensor Subspace Learning applied for Background...Incremental and Multi-feature Tensor Subspace Learning applied for Background...
Incremental and Multi-feature Tensor Subspace Learning applied for Background...
 
A New Enhanced Method of Non Parametric power spectrum Estimation.
A New Enhanced Method of Non Parametric power spectrum Estimation.A New Enhanced Method of Non Parametric power spectrum Estimation.
A New Enhanced Method of Non Parametric power spectrum Estimation.
 
10. Getting Spatial
10. Getting Spatial10. Getting Spatial
10. Getting Spatial
 
Representing and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic WebRepresenting and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic Web
 
Creating a Custom Serialization Format (Gophercon 2017)
Creating a Custom Serialization Format (Gophercon 2017)Creating a Custom Serialization Format (Gophercon 2017)
Creating a Custom Serialization Format (Gophercon 2017)
 
R Language Introduction
R Language IntroductionR Language Introduction
R Language Introduction
 
KZ Spatial Waves Separations
KZ Spatial Waves SeparationsKZ Spatial Waves Separations
KZ Spatial Waves Separations
 
Ill-posedness formulation of the emission source localization in the radio- d...
Ill-posedness formulation of the emission source localization in the radio- d...Ill-posedness formulation of the emission source localization in the radio- d...
Ill-posedness formulation of the emission source localization in the radio- d...
 
User biglm
User biglmUser biglm
User biglm
 
Introduction to Functional Data Analysis
Introduction to Functional Data AnalysisIntroduction to Functional Data Analysis
Introduction to Functional Data Analysis
 
Basic execution
Basic executionBasic execution
Basic execution
 
Functional Regression Analysis
Functional Regression AnalysisFunctional Regression Analysis
Functional Regression Analysis
 
MLMM_16_08_2022.pdf
MLMM_16_08_2022.pdfMLMM_16_08_2022.pdf
MLMM_16_08_2022.pdf
 

Mehr von Kostis Kyzirakos

ESWC2015 - Tutorial on Publishing and Interlinking Linked Geospatial Data
ESWC2015 - Tutorial on Publishing and Interlinking Linked Geospatial DataESWC2015 - Tutorial on Publishing and Interlinking Linked Geospatial Data
ESWC2015 - Tutorial on Publishing and Interlinking Linked Geospatial Data
Kostis Kyzirakos
 
Geographica: A Benchmark for Geospatial RDF Stores - ISWC 2013
Geographica: A Benchmark for Geospatial RDF Stores - ISWC 2013Geographica: A Benchmark for Geospatial RDF Stores - ISWC 2013
Geographica: A Benchmark for Geospatial RDF Stores - ISWC 2013
Kostis Kyzirakos
 
Building Scalable Semantic Geospatial RDF Stores
Building Scalable Semantic Geospatial RDF StoresBuilding Scalable Semantic Geospatial RDF Stores
Building Scalable Semantic Geospatial RDF Stores
Kostis Kyzirakos
 

Mehr von Kostis Kyzirakos (9)

ESWC2015 - Tutorial on Publishing and Interlinking Linked Geospatial Data
ESWC2015 - Tutorial on Publishing and Interlinking Linked Geospatial DataESWC2015 - Tutorial on Publishing and Interlinking Linked Geospatial Data
ESWC2015 - Tutorial on Publishing and Interlinking Linked Geospatial Data
 
The spatiotemporal RDF store Strabon
The spatiotemporal RDF store StrabonThe spatiotemporal RDF store Strabon
The spatiotemporal RDF store Strabon
 
Linked Earth Observation Data:The Projects TELEIOS and LEO
Linked Earth Observation Data:The Projects TELEIOS and LEOLinked Earth Observation Data:The Projects TELEIOS and LEO
Linked Earth Observation Data:The Projects TELEIOS and LEO
 
Geographica: A Benchmark for Geospatial RDF Stores - ISWC 2013
Geographica: A Benchmark for Geospatial RDF Stores - ISWC 2013Geographica: A Benchmark for Geospatial RDF Stores - ISWC 2013
Geographica: A Benchmark for Geospatial RDF Stores - ISWC 2013
 
Geographica: A Benchmark for Geospatial RDF Stores
Geographica: A Benchmark for Geospatial RDF StoresGeographica: A Benchmark for Geospatial RDF Stores
Geographica: A Benchmark for Geospatial RDF Stores
 
Building Scalable Semantic Geospatial RDF Stores
Building Scalable Semantic Geospatial RDF StoresBuilding Scalable Semantic Geospatial RDF Stores
Building Scalable Semantic Geospatial RDF Stores
 
Data Models and Query Languages for Linked Geospatial Data
Data Models and Query Languages for Linked Geospatial DataData Models and Query Languages for Linked Geospatial Data
Data Models and Query Languages for Linked Geospatial Data
 
Data Models and Query Languages for Linked Geospatial Data
Data Models and Query Languages for Linked Geospatial DataData Models and Query Languages for Linked Geospatial Data
Data Models and Query Languages for Linked Geospatial Data
 
Strabon: A Semantic Geospatial Database System
Strabon: A Semantic Geospatial Database SystemStrabon: A Semantic Geospatial Database System
Strabon: A Semantic Geospatial Database System
 

Kürzlich hochgeladen

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Kürzlich hochgeladen (20)

SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 

Modeling and Querying Metadata in the Semantic Sensor Web: stRDF and stSPARQL

  • 1. ' & $ % Modeling and Querying Metadata in the Semantic Sensor Web: stRDF and stSPARQL Manolis Koubarakis Kostis Kyzirakos Manos Karpathiotakis Dept. of Informatics and Telecommunications National and Kapodistrian University of Athens Dagstuhl SSN 26/01/2010
  • 2. ' & $ % Talk Outline • Motivation • The Data Model stRDF • The Query Language stSPARQL • Implementation • Future Work Dagstuhl SSN 26/01/2010
  • 3. ' & $ % Motivation • The vision of the Semantic Sensor Web: annotate sensor data and services to enable discovery, integration, interoperability etc. (Sheth et al. 2008, SemsorGrid4Env) • Sensor annotations involve thematic, spatial and temporal metadata. Examples: – The sensor measures temperature. (thematic) – The sensor is located in the location represented by point (A, B). (spatial) – The sensor measured −30 Celsius on 26/01/2010 at 03:00pm. (temporal) • RDF can represent thematic metadata. How about spatial and temporal metadata? Dagstuhl SSN 26/01/2010
  • 4. ' & $ % Previous Work • Time in RDF (Gutierrez and colleagues, 2005). • SPARQL-ST (Perry, 2008). • SPAUK (Kollas, 2007) Dagstuhl SSN 26/01/2010
  • 5. ' & $ % Our Approach • Use ideas from constraint databases (Kanellakis, Kuper and Revesz, 1991). Slogan: What’s in a tuple? Constraints. • Extend RDF to a constraint database model. Slogan: What’s in a triple? Constraints. • Extend SPARQL to a constraint query language. • Follow exactly the approach of CSQL (Kuper et al., 1998). • Use linear constraints to represent spatial and temporal metadata. Dagstuhl SSN 26/01/2010
  • 6. ' & $ % Spatial Metadata • We start with a FO language L = {≤, +} ∪ Q over the structure Q = Q, ≤, +, (q)q∈Q . • Atomic formulae: linear equations and inequalities of the form ( p i=1 aixi)Θa0 where Θ is one of =, ≤ or <. • Semi-linear point sets: sets that can be defined by quantifier-free formulas of L. Dagstuhl SSN 26/01/2010
  • 7. ' & $ % Example (−x + 1.363636y < −5.272576 ∧ x − 0.090909y < 131.818133 ∧ y < 79 ∧ −y < −13) ∨ (y < 13 ∧ x < 133 ∧ −x − 1.5y < −128.5) Dagstuhl SSN 26/01/2010
  • 8. ' & $ % The sRDF data model • Let I, B and L be the sets of IRIs, blank nodes and literals. • Let Ck be the set of quantifier-free formulae of L with k free variables (k = 1, 2, . . .). • Let C be the infinite union C1 ∪ C2 ∪ · · ·. • An sRDF triple is an element of the set (I ∪ B) × I × (I ∪ B ∪ L ∪ C). • An sRDF graph is a set of sRDF triples. • sRDF can be realized as an extension of RDF with a new kind of typed literals: quantifier-free formulae with linear constraints. The datatype of these literals is strdf:SemiLinearPointSet. Dagstuhl SSN 26/01/2010
  • 9. ' & $ % Example of sRDF graph ex:s1 rdf:type, ex:Sensor . ex:s1 ex:has_location "x=40 and y=15"^^strdf:SemiLinearPointSet . Dagstuhl SSN 26/01/2010
  • 10. ' & $ % Introducing Time • Time structure: the set of rational numbers Q (i.e., time is assumed to be linear, dense and unbounded). • Temporal constraints are expressed by quantifier-free formulas of the language L defined earlier, but their syntax is limited to elements of the set C1. • Atomic temporal constraints: formulas of L of the following form: x ∼ c, where x is a variable, c is a rational number and ∼ is <, ≤, ≥, >, = or =. • Temporal constraints: Boolean combinations of atomic temporal constraints using a single variable. Dagstuhl SSN 26/01/2010
  • 11. ' & $ % Example 1 5 10 12 15 t = 1 ∨ (t ≥ 5 ∧ t ≤ 10) ∨ (t ≥ 12 ∧ t ≤ 15) Dagstuhl SSN 26/01/2010
  • 12. ' & $ % The stRDF data model stRDF extends sRDF with the ability to represent the valid time of a triple: • An stRDF quad (a, b, c, τ) is an sRDF triple (a, b, c) with a fourth component τ which is a temporal constraint. • An stRDF graph is a set of sRDF triples and stRDF quads. Dagstuhl SSN 26/01/2010
  • 13. ' & $ % Example of stRDF graph ex:obs1Result om:uom ex:Celcius . ex:obs1Result om:value "27" "(10 <= t <= 11)"^^strdf:SemiLinearPointSet . Dagstuhl SSN 26/01/2010
  • 14. ' & $ % The Query Language stSPARQL • Syntactic extension of SPARQL • Formal semantics • Closure • Computability • Low data complexity • Efficient implementation Dagstuhl SSN 26/01/2010
  • 15. ' & $ % Example - Dataset I Sensor metadata using the SSN ontology: ex:sensor1 rdf:type ssn:Sensor . ex:sensor1 ssn:measures ex:temperature . ex:temperature rdf:type ssn:PhysicalQuality . ex:sensor1 ssn:supports ex:grounding1 . ex:grounding1 rdf:type ssn:SensorGrounding . ex:grounding1 ssn:hasLocation ex:location1 . ex:location1 rdf:type ssn:Location . ex:location1 strdf:hasGeometry "x=40 and y=15"^^strdf:SemiLinearPointSet . ex:sensor2 rdf:type ssn:Sensor . Dagstuhl SSN 26/01/2010
  • 16. ' & $ % Queries - Dataset I Spatial selection. Find the URIs of the sensors that are inside the rectangle R(0, 0, 100, 100)? select ?S where { ?S rdf:type ssn:Sensor . ?G rdf:type ssn:SensorGrounding . ?L rdf:type ssn:Location . ?S ssn:supports ?G . ?G ssn:haslocation ?L . ?L strdf:hasGeometry ?GEO . filter(?GEO inside "0<=x<=100 and 0<=y<=100") } Dagstuhl SSN 26/01/2010
  • 18. ' & $ % Queries - Dataset I Spatial selection with OPTIONAL. Find the URIs of the sensors that optionally has a grounding that has a location which is inside the rectangle R(0, 0, 100, 100)? select ?S ?GEO where { ?S rdf:type ssn:Sensor . optional { ?G rdf:type ssn:SensorGrounding . ?L rdf:type ssn:Location . ?S ssn:supports ?G . ?G ssn:haslocation ?L . ?L strdf:hasGeometry ?GEO . filter(?GEO inside "0<=x<=100 and 0<=y<=100") } } Dagstuhl SSN 26/01/2010
  • 19. ' & $ % Answer ?S ?GEO ex:sensor1 "x=40 and y=15"^^strdf:SemiLinearPointSet ex:sensor2 Dagstuhl SSN 26/01/2010
  • 20. ' & $ % Example - Dataset II Sensor observation metadata using the O&M ontology: ex:sensor1 rdf:type ex:TemperatureSensor . ex:TemperatureSensor rdfs:subClassOf om:Sensor . ex:obs1 rdf:type om:Observation . ex:obs1 om:procedure ex:sensor1 . ex:obs1 om:observedProperty ex:temperature . ex:temperature rdf:type om:Property . ex:obs1 om:observationLocation ex:obslocation1 . ex:obslocation1 rdf:type om:Location . ex:obslocation1 strdf:hasGeometry "x=40 and y=15"^^strdf:SemiLinearPointSet . ex:obs11 om:result ex:obs1Result . ex:obs1Result rdf:type om:ResultData . ex:obs1Result om:uom ex:Celcius . ex:obs1Result om:value "27" "(10 <= t <= 11)"^^strdf:SemiLinearPointSet . Dagstuhl SSN 26/01/2010
  • 21. ' & $ % Example - Dataset II (cont’d) Metadata about geographical areas: ex:area1 rdf:type ex:RuralArea . ex:area1 ex:hasName "Brovallen" . ex:area1 strdf:hasGeometry "(-x+1.363636y<-5.272576 and y<79 and -y<-13 and x-0.090909y<131.818133) or (y<13 and x<133 and -x-1.5y<-128.5)"^^strdf:SemiLinearPointSet . Dagstuhl SSN 26/01/2010
  • 22. ' & $ % Queries - Dataset II Spatial and temporal selection. Find the values of all observations that were valid at time 11 and the rural area they refer to. select ?V ?RA where { ?OBS rdf:type om:Observation . ?LOC rdf:type om:Location . ?R rdf:type om:ResultData . ?RA rdf:type ex:RuralArea . ?OBS om:observationLocation ?LOC . ?LOC strdf:hasGeometry ?OBSLOC . ?OBS om:result ?R . ?R om:value ?V ?T . ?RA strdf:hasGeometry ?RAGEO . filter(?T contains "t = 11" && ?RAGEO contains ?OBSLOC) } Dagstuhl SSN 26/01/2010
  • 24. ' & $ % Example - Dataset III Moving sensor metadata using the SSN ontology: ex:sensor2 rdf:type ssn:Sensor . ex:sensor2 ssn:measures ex:temperature . ex:sensor2 ssn:supports ex:grounding2 . ex:grounding2 rdf:type ssn:SensorGrounding . ex:grounding2 ssn:hasLocation ex:location2 . ex:location2 rdf:type ssn:Location . Dagstuhl SSN 26/01/2010
  • 25. ' & $ % Example - Dataset III (cont’d) ex:location2 strdf:hasTrajectory "(x=10t and y=5t and 0<=t<=5) or (y=5t and x=50 and 25<=y<=50)"^^strdf:SemiLinearPointSet. Dagstuhl SSN 26/01/2010
  • 26. ' & $ % Example - Dataset III (cont’d) Metadata about geographical areas: ex:area1 rdf:type ex:RuralArea . ex:area1 ex:hasName "Brovallen" . ex:area1 strdf:hasGeometry "(-x+1.363636y<-5.272576 and y<79 and -y<-13 and x-0.090909y<131.818133) or (y<13 and x<133 and -x-1.5y<-128.5)"^^strdf:SemiLinearPointSet . Dagstuhl SSN 26/01/2010
  • 27. ' & $ % Queries - Dataset III Intersection of an area with a trajectory. Which areas of Brovallen were sensed by a moving sensor and when? select (?TR[1,2] INTER ?GEO) as ?SENSEDAREA ?GEO[3] where { ?SN rdf:type ssn:Sensor . ?Y rdf:type ssn:Location . ?X rdf:type ssn:SensorGrounding . ?RA rdf:type ex:RuralArea . ?SN ssn:supports ?X . ?X ssn:hasLocation ?Y . ?Y strdf:hasTrajectory ?TR . ?RA ex:hasName "Brovallen" . ?RA strdf:hasGeometry ?GEO . filter(?TR[1,2] overlap ?GEO) } Dagstuhl SSN 26/01/2010
  • 28. ' & $ % Answer ?SENSEDAREA ?T1 "((y=0.5x and 0<=x<=50) or (x=50 and 25<=y<=50)) and ((y<79 and -y<-13 and -x+1.363636y<-5.272576 and x-0.090909y<131.818133) or (y<13 and x<133 and -x-1.5y<-128.5))" ^^strdf:SemiLinearPointSet "0 <= t <= 10" ^^strdf:SemiLinearPointSet. Dagstuhl SSN 26/01/2010
  • 29. ' & $ % One More Query Projection and spatial function application. Find the URIs of the sensors that are north of Brovallen. select ?SN where { ?SN rdf:type ssn:Sensor . ?X rdf:type ssn:SensorGrounding . ?RA rdf:type ex:RuralArea . ?SN ssn:supports ?X . ?X ssn:hasLocation ?Y . ?Y strdf:hasGeometry ?SN_LOC . ?RA ex:hasName "Brovallen". ?RA strdf:hasGeometry ?GEO . filter(MAX(?GEO[2])<MIN(?SN_LOC[2])) } Dagstuhl SSN 26/01/2010
  • 31. ' & $ % What Else is There in stSPARQL Syntax? • k-ary spatial terms “(x ≥ 1 ∧ x = y) ∨ y = 7” ?GEO ∩ “(x ≥ 1 ∧ x = y) ∨ y = 7” BD(?GEO ∩ “(x ≥ 1 ∧ x = y) ∨ y = 7”) “(x ≥ 1 ∧ x ≤ 10 ∧ y ≥ 0 ∧ x = z)”[1, 2] ∩ “(z ≥ 0 ∧ z ≤ 10)” • Metric spatial terms AREA(“(x ≥ 1 ∧ x ≤ 10 ∧ y ≥ 0 ∧ x = y)”) MIN(“(x ≥ 1 ∧ x ≤ 10 ∧ y ≥ 0 ∧ x = y)”[1]) • Spatial and temporal selection predicates Dagstuhl SSN 26/01/2010
  • 32. ' & $ % stSPARQL Semantics • Extension of the SPARQL semantics of (Perez et al., 2006). – Extend the concept of mapping. – The semantics of AND, OPT, UNION remain the same. – We need to define carefully the evaluation of spatial terms and the semantics of spatial and temporal filters. Dagstuhl SSN 26/01/2010
  • 33. ' & $ % The System Strabon PostGIS Query Engine Parser Optimizer Evaluator Transaction Manager Storage Manager Repository SAIL RDBMS Convex Partitioner Constraint Engine Constraint Solver Representation Translator Dagstuhl SSN 26/01/2010
  • 34. ' & $ % Implementation Details: Store DNF Constraints (at most 2 vars) PostGIS Vectorspace cddliborbital Dagstuhl SSN 26/01/2010
  • 35. ' & $ % Implementation Details: Query Parser Optimizer Query Processor stSPARQL query results PostGIS Vector to Constraints Dagstuhl SSN 26/01/2010
  • 36. ' & $ % Strabon in SemsorGrid4Env PostGIS Query Engine Storage Manager Constraint EngineMetadata provider Metadata consumer Strabon Service Registration Query Semantic Registration and Discovery Service Dagstuhl SSN 26/01/2010
  • 37. ' & $ % Future Work • Complete the theory (complexity results). • Complete the implementation (see demo for what works now). • Integrate with the rest of SemsorGrid4Env architecture components. • Incomplete information (use the blank nodes for a bit more than what they are currently used). • OWL 2 and constraints? Dagstuhl SSN 26/01/2010