SPARQL-Based Applications for RDF-Encoded Sensor Data

Similar documents
Introduction to INSTANS

Processing Heterogeneous RDF Event Streams with Standing SPARQL Update

The Event Processing ODP

Smart Spaces Semantic Interoperability and Complex Event Processing

Rinne, Mikko; Abdullah, Haris; Törmä, Seppo; Nuutila, Esko Processing Heterogeneous RDF Events with Standing SPARQL Update Rules

DRAFT A Survey of Event Processing Languages (EPLs)

Enrichment of Sensor Descriptions and Measurements Using Semantic Technologies. Student: Alexandra Moraru Mentor: Prof. Dr.

Event Object Boundaries in RDF Streams A Position Paper

Lesson 5 Web Service Interface Definition (Part II)

A Formal Definition of RESTful Semantic Web Services. Antonio Garrote Hernández María N. Moreno García

Enhancing Event Processing Networks with Semantics to Enable Self-Managed SEE Federations

Event Stores (I) [Source: DB-Engines.com, accessed on August 28, 2016]

Semantic Web Information Management

FZI Research Center for Information Technology, Germany

A SEMANTIC MATCHMAKER SERVICE ON THE GRID

a paradigm for the Introduction to Semantic Web Semantic Web Angelica Lo Duca IIT-CNR Linked Open Data:

Network Based Hard/Soft Information Fusion Network Architecture/SOA J. Rimland

Structure of This Presentation

QuickTime and a Tools API Breakout. TIFF (LZW) decompressor are needed to see this picture.

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

Novel System Architectures for Semantic Based Sensor Networks Integraion

Enhancement of CoAP Packet Delivery Performance for Internet of Things. Hang Liu

Efficient Temporal Reasoning on Streams of Events with DOTR

Ontology Servers and Metadata Vocabulary Repositories

Semantic agents for location-aware service provisioning in mobile networks

WebGUI & the Semantic Web. William McKee WebGUI Users Conference 2009

Towards Efficient Semantically Enriched Complex Event Processing and Pattern Matching

Benchmarking Database Representations of RDF/S Stores

Connecting SMW to RDF Databases: Why, What, and How?

Information Retrieval System Based on Context-aware in Internet of Things. Ma Junhong 1, a *

TriAD: A Distributed Shared-Nothing RDF Engine based on Asynchronous Message Passing

What you have learned so far. Interoperability. Ontology heterogeneity. Being serious about the semantic web

KNOWLEDGE GRAPHS. Lecture 4: Introduction to SPARQL. TU Dresden, 6th Nov Markus Krötzsch Knowledge-Based Systems

Introducing Fedora 4. Overview, examples, and features. David Wilcox,

Web 2.0 and the Semantic Web

An Introduction to Software Architecture

Linked Data and RDF. COMP60421 Sean Bechhofer

Web-based BIM. Seppo Törmä Aalto University, School of Science

Semantic Discovery & Integration of Urban Data Streams. Feng Gao, Ali Intizar and Alessandra Mileo

Semantic Integration with Apache Jena and Apache Stanbol

onem2m AND SMART M2M INTRODUCTION, RELEASE 2/3

ITARC Stockholm Olle Olsson World Wide Web Consortium (W3C) Swedish Institute of Computer Science (SICS)

ITARC Stockholm Olle Olsson World Wide Web Consortium (W3C) Swedish Institute of Computer Science (SICS)

Oracle Spatial and Graph: Benchmarking a Trillion Edges RDF Graph ORACLE WHITE PAPER NOVEMBER 2016

Anytime Query Answering in RDF through Evolutionary Algorithms

Proposal for Implementing Linked Open Data on Libraries Catalogue

Optimising a Semantic IoT Data Hub

Architectural Styles - Finale

An Introduction to Software Architecture

Semantics Modeling and Representation. Wendy Hui Wang CS Department Stevens Institute of Technology

Integrating Systems with Event Driven Architecture. Eoin Woods

Multi-agent and Semantic Web Systems: Linked Open Data

Software Engineering Principles

Scaling the Semantic Wall with AllegroGraph and TopBraid Composer. A Joint Webinar by TopQuadrant and Franz

DIONYSUS: Towards Query-aware Distributed Processing of RDF Graph Streams

Linked Data: What Now? Maine Library Association 2017

Keyword Search over RDF Graphs. Elisa Menendez

Falcon-AO: Aligning Ontologies with Falcon

DBpedia-An Advancement Towards Content Extraction From Wikipedia

Linked Stream Data Processing Part I: Basic Concepts & Modeling

Semantic Processing of Sensor Event Stream by Using External Knowledge Bases

Querying the Semantic Web

CHAPTER 1 INTRODUCTION

Streaming the Web: Reasoning over Dynamic Data

RDF stream processing models Daniele Dell Aglio, Jean-Paul Cabilmonte,

Paolo Bellavista Veronica Conti Carlo Giannelli Jukka Honkola

A Community-Driven Approach to Development of an Ontology-Based Application Management Framework

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

Application of the Peer-to-Peer Paradigm in Digital Libraries

Context-aware Semantic Middleware Solutions for Pervasive Applications

An overview of RDB2RDF techniques and tools

SEMANTIC SOLUTIONS FOR OIL & GAS: ROLES AND RESPONSIBILITIES

Approach for Mapping Ontologies to Relational Databases

The Semantic Web Revisited. Nigel Shadbolt Tim Berners-Lee Wendy Hall

Dynamic Semantics for the Internet of Things. Payam Barnaghi Institute for Communication Systems (ICS) University of Surrey Guildford, United Kingdom

Presented By Aditya R Joshi Neha Purohit

WHAT ISINTEROPERABILITY? (AND HOW DO WE MEASURE IT?) INSPIRE Conference 2011 Edinburgh, UK

Chapter 13: Advanced topic 3 Web 3.0

SEPA SPARQL Event Processing Architecture

Complex Systems Design &DistributedCalculusandCoordination

COMPUTER AND INFORMATION SCIENCE JENA DB. Group Abhishek Kumar Harshvardhan Singh Abhisek Mohanty Suhas Tumkur Chandrashekhara

Harvesting RDF Triples

Semantic Web: Core Concepts and Mechanisms. MMI ORR Ontology Registry and Repository

A Survey of Context Modelling and Reasoning Techniques

MODEL-BASED SYSTEMS ENGINEERING DESIGN AND TRADE-OFF ANALYSIS WITH RDF GRAPHS

Triple Stores in a Nutshell

Mapping between Digital Identity Ontologies through SISM

Systems Infrastructure for Data Science. Web Science Group Uni Freiburg WS 2012/13

Assisting IoT Projects and Developers in Designing Interoperable Semantic Web of Things Applications

Real World Data Governance- Part 1

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation

Sistemi ICT per il Business Networking

Toward a Standard Rule Language for Semantic Integration of the DoD Enterprise

[MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions

Grid Resources Search Engine based on Ontology

SWoTSuite: A Toolkit for Prototyping End-to-End Semantic Web of Things Applications

On the use of Abstract Workflows to Capture Scientific Process Provenance

JENA: A Java API for Ontology Management

Lecture 7. Network Layer. Network Layer 1-1

Lecture 21 11/27/2017 Next Lecture: Quiz review & project meetings Streaming & Apache Kafka

Transcription:

SPARQL-Based Applications for RDF-Encoded Sensor Data Mikko Rinne, Seppo Törmä, Esko Nuutila http://cse.aalto.fi/instans/ 5 th International Workshop on Semantic Sensor Networks 12.11.2012 Department of Computer Science and Engineering Distributed Systems Group

Smart Cities Need Interoperability Smart environments of the future interconnect billions of sensors Platforms from multiple vendors Operated by different companies, public authorities or individuals Highly distributed, loosely coupled solutions based on common standards are required Challenge to proprietary platforms Semantic web standards RDF, SPARQL and OWL offer a good base for interoperability Could they be used to process sensor data?

Three-Layer Sensor Network Model Motivation for the middle layer Abstraction Interoperability Energy Efficiency: Optimisation of Sensor Access Applications Middle Layer Sensor platforms

An Event = Anything that happens or is contemplated as happening *) Seppo came in Mikko came in Esko came in (Simple) Event (Simple) Event (Simple) Event It is 9 a.m. Seppo, Mikko and Esko are in. (Simple) Event (Simple) Event (Simple) Event (Simple) Event Composite Event Synthesized Event Complex Event Meeting started in time Summarizes, represents, or denotes a set of other events *) *) Luckham, D., Schulte, R.: Event processing glossary version 2.0 (Jul 2011)

Heterogeneous Event Representations Variable event structures in an open environment Different sensors may support different parameters Queries can match the data of interest and disregard the rest Semantic web standard RDF has flexible support for heterogeneous event structures Alternative approaches typically cover data stream processing on individual timeannotated triples :p3 tl: Insta nt event: agent rdf: type event: Event rdf: type :e1 event: time tl: at 2011-10-03T08:1 7:11 event: place Example Location Update 60.1587 76 geo: lat geo: long 24.8814 90 geo: alt

Solution Components 1. Method: Multiple collaborating SPARQL queries and update rules processing heterogeneous events expressed in RDF 2. Implementation (INSTANS*): Incremental continuous query engine based on the Rete-algorithm *) Incremental engine for STANding Sparql

Event Processing Based on SPARQL SPARQL is tailor-made to query RDF data SPARQL 1.1 Update supports INSERT operations, enabling Memory Communication between SPARQL queries Stepwise processing of data Applications can be constructed entirely of SPARQL Queries Query 1: Conditionally INSERT <triple> Bindings in Rete Query 2: Use <triple> as input

Continuous Processing vs. Window Repetition Continuous processing of SPARQL queries has benefits over window repetition Instantaneous availability of results No duplicate detections due to overlapping windows No missing detections on window borders No repeated processing over the same data Window lengths typically based either on time or number of triples Based on the assumption that each triple marks a standalone event Heterogeneous event formats needed to support all types of sensor input

INSTANS Event Processing Platform Based on the Rete-algorithm Performs continuous evaluation of incoming RDF data against multiple SPARQL queries Intermediate results are stored into a β-node network When all the conditions of a query are matched, the result is instantly available. Event Processing Network 1. Event Producer (e.g. INSTANS) 2. Event Channel (RDF) 3. Event Processing Agent (INSTANS) 2. Event Channel (RDF) 4. Event Consumer (e.g. INSTANS)

INSTANS Phases 1. Compilation Queries parsed into abstract syntax trees Syntax trees translated into a Rete network with shared structure Rete network translated into a set of Lisp functions 2. Execution An α-matcher receives commands to add and remove triples and calls add or remove methods of corresponding α-nodes Rete network propagates changes through a β network Fully satisfied rule conditions are executed, causing add and remove triple commands to be fed into output connectors and / or in a feedback loop to the α-matcher

Processing of Timed Events The asynchronous nature of INSTANS means that all input is processed when it arrives Synthetic events at specific points in time Detection of a missing event Compilation of a report Timed events are built into INSTANS with the help of a special timergraph and a set of special predicates INSERT { GRAPH <http://example.org/timergraph> {?event <tp:timer_sec>?timevalue } } WHERE {?event <:seconds>?timevalue } Start a five-second timer: <:5sec_pulse> <:seconds> "5"^^<xsd:integer>

β1 α1: a <ffd:assigneddelivery> 1 3 5 α2: <ffd:assignbid> α3: <ffd:committedpickuptime> Rete Y1 Example Query:?request?request :req1 2?request,?bid INSERT {?request <tp:5mer_min>?rela5ve5me } WHERE {?request a <ffd:assigneddelivery> ; <ffd:assignbid>?bid.?bid <ffd:commiledpickuptime>?rela5ve5me } β2?request Y2?bid,?relativetime Process flow: 1 Each condi5on corresponds to an α-node. α1 matches with sample input <:req1> a <ffd:assigneddelivery>. 2 <:req1> propagates to β2 and is stored there. 3 α2 matches with <:req1> <ffd:assignbid> <:bid1>. Input from β2 matches with?request in Y2. 4 <:req1> and <:bid1> propagate un5l β3. 5 α3 matches with input <:bid1> <ffd:commi?edpickuptime> "15"^^<xsd:integer>. 6 In Y3 <:req1> and <:bid1> are joined with 15 ^^<xsd:integer> 7 A new triple <:req1> <tp:imer_min> 15 ^^<xsd:integer> is inserted into the main graph.?request,?bid β3 4 :req1 :bid1?request,?bid 6 :req1 :bid1 15 Y3?request,?relativetime 7 insert1

Close Friends Example Service Mobile clients emit location updates Service produces a nearby notification if two friends come geographically close to each other 1. Static input (RDF Store) Configuration 2. Event Producer (RDF Stream) 5. Event Consumer Mobile Client 3. Event Channel 4. Event Processing Agent Network

Simulated Input on Open StreetMap

Notification Delay Results 5 simulated friends C-SPARQL query processing delay varied 12-253 ms for 5-60 events, respectively Window repetition rate is the dominant component of the notification delay With 1 event per second inter-arrival time C-SPARQL notification delay measured at 1.34 25.90 seconds. Notification Delay [s] 30.0 25.0 20.0 15.0 10.0 5.0 0.0 C-SPARQL INSTANS 5s 10s 20s 30s 40s 50s 60s C-SPARQL Window Length INSTANS: 12 ms independent of window length

Logistics Management Example The Fast Flowers Delivery (FFD) application defined in Event Processing in Action by Etzion, Niblett, Luckham Flower stores request delivery service for flower orders Independent drivers bidding for the assignment based on availability Location and driver ranking Demo implementations on six different platforms are available at the book website, but none of them are coded in SPARQL. Timed events heavily used Each phase of the flower delivery needs to be monitored for time Capability to synthesize new unique events is needed SPARQL BIND Planned as a next-level verification of the method and system

Related Work Commercial event processing platforms (BusinessEvents, StreamBase, Esper, Aleri, Apama etc.) are based on proprietary programming methods SparkWave applies SPARQL queries to RDF data using extended Rete Focuses on inference and fast data stream processing of individual triples No support for connected queries C-SPARQL and CQELS support SPARQL, RDF and stream processing, but are based on window repetition and don t support connected queries Jena and Sesame support SPARQL Update, but not multiple queries INSTANS believed to be a unique combination of continuous standard-based processing of event streams using multiple connected queries

Summary Sensor event processing based on RDF-encoded heterogeneous events Event format can evolve independently of event processing application Built-in support for disjoint vocabularies SPARQL Query + Update Application can be built entirely out of collaborating SPARQL queries Access to linked open data, future possibilities for inference No proprietary extensions needed so far Promise of good interoperability in multi-vendor multi-actor environments Continuous incremental matching using the Rete-algorithm No repeating windows (processing repetition, duplicate matches, missed detections on window borders) Application areas in smart spaces, context-aware mobile systems, internet-of-things, the real-time web etc.

Conclusions Collaborative SPARQL queries are a promising method for event processing using semantic web technologies Applicable to any of the three layers in the sensor computing model Both INSTANS and the Rete-network within are fully distributable A platform capable of continuous event-driven evaluation of parallel SPARQL-queries supporting SPARQL 1.1 Update (INSERT) is needed Early testing indicates good performance for INSTANS