Skip to content

SimonUzL/STARQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Streaming and Temporal ontology Access with a Reasoning-based Query Language: STARQL

Stream processing is a general information processing paradigm with different applications in AI. Most stream languages rely on the concept of a sliding window with a bag semantics, which is in order for relational streams but may lead to inconsistencies when applied on streams of assertions evaluated against a conceptual model. Our approach uses a different semantics based on ABox sequencing. The query language provides an expressive first order temporal logic for inter-ABox reasoning. Safety conditions tame the expressiveness so that a meaning preserving transformation of the query to backend queries on the sources as foreseen in the OBDA paradigm is guaranteed [1].

PREFIX : <http://www.sport.com/Fitness/Pattern#>
CREATE PULSE pulseA WITH 
START = "2012-07-04T06:21:58CEST"^^XSD:DATETIME,
END =  "2012-07-23T00:54:35CEST"^^XSD:DATETIME,
FREQUENCY = "PT1M"^^XSD:DURATION
				 
CREATE STREAM S_out AS
				 
CONSTRUCT GRAPH NOW { ?profile a :IncreasingHeight }
FROM STREAM measurements [ NOW - "PT100M"^^XSD:DURATION, NOW ] -> "PT5M"^^XSD:DURATION
USING PULSE pulseA
SEQUENCE BY StdSeq AS SEQ1
HAVING FORALL i, j IN SEQ1 ?x,?y(
IF ((
	GRAPH i { ?profile :hasHeight ?x } 
	AND GRAPH j { ?profile :hasHeight ?y }
) AND i < j) THEN ?x <= ?y)

Build Status

Releases

No releases published

Packages

No packages published