SlideShare a Scribd company logo
Functional Composition
Ruben Verborgh et al. of Sensor Web APIs
?
What
 makes people
 SMART
Collaboration.
?
What
 makes sensors
 SMART
Collaboration.
Smart collaborations
run themselves.

      manual sensor composition
         intelligence comes from humans

      automatic sensor composition
         intelligence comes from the system
My research is about
intelligent Web APIs.
      Ruben Verborgh, PhD Student
         Ghent University / iMinds

      My dream: intelligent agents
         browsing the Web for us

      Bridging between people and things
          bringing things to the Web
Functional composition
             of sensor Web APIs




     {
         Capturing functionality

         Creating compositions

         Evaluating feasibility
Functional composition
             of sensor Web APIs




     {
         Capturing functionality

         Creating compositions

         Evaluating feasibility
Why describe functionality?
Only functionality
tells the whole story.
How to capture the functionality
of these sensors?
      GPS device
         determines current location

      temperature sensor
         reads current temperature

      pressure sensor
          reads current air pressure
We model sensors
as Web APIs.
     Web APIs = HTTP APIs = REST APIs
        as opposed to “Big” Web services
        resource-oriented

     Sensor measurements are resources
        location
        temperature
        air pressure
We capture the functionality
of Web APIs with RESTdesc.


      RESTdesc describes the functionality

      of hypermedia-driven APIs

      with Notation3 (an RDF superset).
RESTdesc can describe
a temperature sensor.
  !
  ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2
  """"""""""%*+3'4)/5'&"#3'4)/5'&6
  7
  89
  !
  "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2
  """"""""""""<//.+(%;0%$/BCD"#$%&$'(2
  """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6
  ""
  ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6
  76
RESTdesc can describe
a temperature sensor.
  !
  ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2
  """"""""""%*+3'4)/5'&"#3'4)/5'&6
  7
  89
  !
  "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2
  """"""""""""<//.+(%;0%$/BCD"#$%&$'(2
  """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6
  ""
  ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6
  76
RESTdesc can describe
a temperature sensor.
  !
  ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2
  """"""""""%*+3'4)/5'&"#3'4)/5'&6
  7
  89
  !
  ""8+(%90%$/"://.+-%/:';<)-%"=>?,=2
  """"""""""""://.+(%90%$/@AB"#$%&$'(2
  """"""""""""://.+(%$."C"://.+D';E"#/%-.%()/0(%"F6
  ""
  ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6
  76
RESTdesc can describe
a temperature sensor.
  !
  ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2
  """"""""""%*+3'4)/5'&"#3'4)/5'&6
  7
  89
  !
  "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2
  """"""""""""<//.+(%;0%$/BCD"#$%&$'(2
  """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6
  ""
  ""#3'4)/5'&"%*+:)$,%-.%()/0(%"#/%-.%()/0(%6
  76
RESTdesc provides simple
functional descriptions.
      Hypermedia-driven
         no inputs or outputs, just links

      Capture functionality
         relationship between resources

      Rule-based
          logic implication
Functional composition
             of sensor Web APIs




     {
         Capturing functionality

         Creating compositions

         Evaluating feasibility
Why compose Web APIs?


     To answer a query
     by combining multiple APIs.

     Queries can be complex,

     APIs not necessarily known in advance.
“Reserve a table in a nearby restaurant.
 If weather allows, I want to sit outside.”
What APIs do we have
at our disposition?

      Suppose we have many APIs, including:
         Location API
         Temperature API
         Pressure API
         Restaurant API
What would
   a candidate solution lookoflike? Web a
            Functional Composition Sensor


                            T
     I          L                       R          G
                            P

   “Reserve a table in                 Location API
bining the Location, Temperature, Pressure, and Restauran
     a nearby restaurant.              Temperature API
 dependencies, we can reach the Goal from the Initial state
    If weather allows,                 Pressure API
    I want to sit outside.”            Restaurant API
RESTdesc descriptions enable
automated composition.


      RESTdesc descriptions are rules

      Rules support inference

      Rules can be chained
Does this composition
satisfy the goal?


{        }   Since descriptions are rules,
    =>
{        }   success is defined as entailment.
If success is entailment,
the proof is the composition.

{        }
    =>       The proof of the entailment
{        }
{        }   contains the used rules,
    =>
{        }   thus the needed API requests.
A semantic Web reasoner
   can create the composition.
                 Functional Composition of Sensor Web a
                         {   }
                               =>
                           {        }
               {    }                   {    }
                 =>                       =>
               {    }          T        {    }

     I          L                        R         G
                               P
   “Reserve a table in      {
                              =>
                                 }     Location API
biningnearby restaurant.    {    }     Temperature API
     a the Location, Temperature, Pressure, and Restauran
                                       Pressure API
 dependencies, we can reach the Goal from the Initial state
    If weather allows,
    I want to sit outside.”            Restaurant API
RESTdesc composing behaves
as a good Semantic Web citizen.

      works with generic semantic reasoners
         RESTdesc descriptions are rules
         no specific knowledge needed

      ontologies fill gaps

      domain-independent
Functional composition
             of sensor Web APIs




     {
         Capturing functionality

         Creating compositions

         Evaluating feasibility
Does it scale?
Reasoner-based methods
are often thought of as slow.

      partly perception
          limit reasoner experience

      partly the method
          translation into reasoner domain
We tested composition chains
for performance.

      n APIs with 1/2/3 dependencies
          to test chaining speed

      32 APIs in presence of n dummies
          to test discrimination speed
RESTdesc composition is so fast
that it works on Web scale.
      chain of 512 APIs with 1 dependency
          in 0.4 seconds

      chain of 512 APIs with 3 dependencies
          in 1.6 seconds

      chain of 32 APIs with 512 dummies
          in 0,01 seconds
Efficient implementations
on Arduino boards.


      simple sensors as Web APIs

      described with RESTdesc

      central composer
RESTdesc is an automated solution
for sensor Web API composition.


      Describe REST Web APIs

      Use Semantic Web logic

      Compose with generic reasoners
RESTdesc automatically
   composes sensor Web APIs.

     Curious? Let’s get in touch!

     Visit restdesc.org and

     connect to @RubenVerborgh on Twitter.

More Related Content

What's hot

The Digital Cavemen of Linked Lascaux
The Digital Cavemen of Linked LascauxThe Digital Cavemen of Linked Lascaux
The Digital Cavemen of Linked Lascaux
Ruben Verborgh
 
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsInitial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
Ruben Verborgh
 
Reasoned SPARQL
Reasoned SPARQLReasoned SPARQL
Reasoned SPARQL
Ruben Verborgh
 
Distributed Affordance
Distributed AffordanceDistributed Affordance
Distributed Affordance
Ruben Verborgh
 
Linking media, data, and services
Linking media, data, and servicesLinking media, data, and services
Linking media, data, and services
Ruben Verborgh
 
Analyzing Log Data With Apache Spark
Analyzing Log Data With Apache SparkAnalyzing Log Data With Apache Spark
Analyzing Log Data With Apache Spark
Spark Summit
 
XMLPipeDB
XMLPipeDBXMLPipeDB
XMLPipeDB
bosc
 
The web – A hypermedia story
The web – A hypermedia storyThe web – A hypermedia story
The web – A hypermedia story
Ruben Verborgh
 
Galaxy
GalaxyGalaxy
Galaxy
bosc
 
An E-commerce App in action built on top of a Multi-model Database
An E-commerce App in action built on top of a Multi-model DatabaseAn E-commerce App in action built on top of a Multi-model Database
An E-commerce App in action built on top of a Multi-model Database
ArangoDB Database
 
Biomart Update
Biomart UpdateBiomart Update
Biomart Update
bosc
 
Hypermedia Cannot be the Engine
Hypermedia Cannot be the EngineHypermedia Cannot be the Engine
Hypermedia Cannot be the Engine
Ruben Verborgh
 
SPARQL and Linked Data Benchmarking
SPARQL and Linked Data BenchmarkingSPARQL and Linked Data Benchmarking
SPARQL and Linked Data Benchmarking
Kristian Alexander
 
Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2
Sematext Group, Inc.
 
Kibana: Real-World Examples
Kibana: Real-World ExamplesKibana: Real-World Examples
Kibana: Real-World Examples
Salvatore Cordiano
 
2014 spark with elastic search
2014   spark with elastic search2014   spark with elastic search
2014 spark with elastic search
Henry Saputra
 
RDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of SemanticsRDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of Semantics
Jean-Paul Calbimonte
 
Spark with Elasticsearch
Spark with ElasticsearchSpark with Elasticsearch
Spark with Elasticsearch
Holden Karau
 
Airstream: Spark Streaming At Airbnb
Airstream: Spark Streaming At AirbnbAirstream: Spark Streaming At Airbnb
Airstream: Spark Streaming At Airbnb
Jen Aman
 
Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)
Federico Panini
 

What's hot (20)

The Digital Cavemen of Linked Lascaux
The Digital Cavemen of Linked LascauxThe Digital Cavemen of Linked Lascaux
The Digital Cavemen of Linked Lascaux
 
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsInitial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
 
Reasoned SPARQL
Reasoned SPARQLReasoned SPARQL
Reasoned SPARQL
 
Distributed Affordance
Distributed AffordanceDistributed Affordance
Distributed Affordance
 
Linking media, data, and services
Linking media, data, and servicesLinking media, data, and services
Linking media, data, and services
 
Analyzing Log Data With Apache Spark
Analyzing Log Data With Apache SparkAnalyzing Log Data With Apache Spark
Analyzing Log Data With Apache Spark
 
XMLPipeDB
XMLPipeDBXMLPipeDB
XMLPipeDB
 
The web – A hypermedia story
The web – A hypermedia storyThe web – A hypermedia story
The web – A hypermedia story
 
Galaxy
GalaxyGalaxy
Galaxy
 
An E-commerce App in action built on top of a Multi-model Database
An E-commerce App in action built on top of a Multi-model DatabaseAn E-commerce App in action built on top of a Multi-model Database
An E-commerce App in action built on top of a Multi-model Database
 
Biomart Update
Biomart UpdateBiomart Update
Biomart Update
 
Hypermedia Cannot be the Engine
Hypermedia Cannot be the EngineHypermedia Cannot be the Engine
Hypermedia Cannot be the Engine
 
SPARQL and Linked Data Benchmarking
SPARQL and Linked Data BenchmarkingSPARQL and Linked Data Benchmarking
SPARQL and Linked Data Benchmarking
 
Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2
 
Kibana: Real-World Examples
Kibana: Real-World ExamplesKibana: Real-World Examples
Kibana: Real-World Examples
 
2014 spark with elastic search
2014   spark with elastic search2014   spark with elastic search
2014 spark with elastic search
 
RDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of SemanticsRDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of Semantics
 
Spark with Elasticsearch
Spark with ElasticsearchSpark with Elasticsearch
Spark with Elasticsearch
 
Airstream: Spark Streaming At Airbnb
Airstream: Spark Streaming At AirbnbAirstream: Spark Streaming At Airbnb
Airstream: Spark Streaming At Airbnb
 
Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)
 

Similar to Functional Composition of Sensor Web APIs

Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
Amazon Web Services
 
From System Engineer to Gopher
From System Engineer to GopherFrom System Engineer to Gopher
From System Engineer to Gopher
I-Fan Wang
 
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
Amazon Web Services
 
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Amazon Web Services
 
Server Side Swift - AppBuilders 2017
Server Side Swift - AppBuilders 2017Server Side Swift - AppBuilders 2017
Server Side Swift - AppBuilders 2017
Jens Ravens
 
I Can See Clearly Now - Observing & understanding your Spring applications at...
I Can See Clearly Now - Observing & understanding your Spring applications at...I Can See Clearly Now - Observing & understanding your Spring applications at...
I Can See Clearly Now - Observing & understanding your Spring applications at...
Joris Kuipers
 
IOT315_AWS IoT Rules Engine
IOT315_AWS IoT Rules EngineIOT315_AWS IoT Rules Engine
IOT315_AWS IoT Rules Engine
Amazon Web Services
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Danilo Poccia
 
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverAltitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Fastly
 
Introducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomenessIntroducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomeness
Ramit Surana
 
Into The Box | Alexa and ColdBox Api's
Into The Box | Alexa and ColdBox Api'sInto The Box | Alexa and ColdBox Api's
Into The Box | Alexa and ColdBox Api's
Ortus Solutions, Corp
 
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdfRET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
Amazon Web Services
 
Web Dev 21-01-2024.pptx
Web Dev 21-01-2024.pptxWeb Dev 21-01-2024.pptx
Web Dev 21-01-2024.pptx
PARDHIVANNABATTULA
 
Switch to Backend 2023
Switch to Backend 2023Switch to Backend 2023
Design patterns and best practices for data analytics with amazon emr (ABD305)
Design patterns and best practices for data analytics with amazon emr (ABD305)Design patterns and best practices for data analytics with amazon emr (ABD305)
Design patterns and best practices for data analytics with amazon emr (ABD305)
Amazon Web Services
 
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Codemotion
 
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Codemotion
 
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdfHow to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
aud Scarlet
 
More Asp
More AspMore Asp
More Asp
guest4c97670
 
Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher
 

Similar to Functional Composition of Sensor Web APIs (20)

Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
 
From System Engineer to Gopher
From System Engineer to GopherFrom System Engineer to Gopher
From System Engineer to Gopher
 
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
 
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
 
Server Side Swift - AppBuilders 2017
Server Side Swift - AppBuilders 2017Server Side Swift - AppBuilders 2017
Server Side Swift - AppBuilders 2017
 
I Can See Clearly Now - Observing & understanding your Spring applications at...
I Can See Clearly Now - Observing & understanding your Spring applications at...I Can See Clearly Now - Observing & understanding your Spring applications at...
I Can See Clearly Now - Observing & understanding your Spring applications at...
 
IOT315_AWS IoT Rules Engine
IOT315_AWS IoT Rules EngineIOT315_AWS IoT Rules Engine
IOT315_AWS IoT Rules Engine
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverAltitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
 
Introducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomenessIntroducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomeness
 
Into The Box | Alexa and ColdBox Api's
Into The Box | Alexa and ColdBox Api'sInto The Box | Alexa and ColdBox Api's
Into The Box | Alexa and ColdBox Api's
 
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdfRET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
 
Web Dev 21-01-2024.pptx
Web Dev 21-01-2024.pptxWeb Dev 21-01-2024.pptx
Web Dev 21-01-2024.pptx
 
Switch to Backend 2023
Switch to Backend 2023Switch to Backend 2023
Switch to Backend 2023
 
Design patterns and best practices for data analytics with amazon emr (ABD305)
Design patterns and best practices for data analytics with amazon emr (ABD305)Design patterns and best practices for data analytics with amazon emr (ABD305)
Design patterns and best practices for data analytics with amazon emr (ABD305)
 
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
 
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
 
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdfHow to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
 
More Asp
More AspMore Asp
More Asp
 
Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6
 

Recently uploaded

Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 

Recently uploaded (20)

Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 

Functional Composition of Sensor Web APIs

  • 1. Functional Composition Ruben Verborgh et al. of Sensor Web APIs
  • 6. Smart collaborations run themselves. manual sensor composition intelligence comes from humans automatic sensor composition intelligence comes from the system
  • 7. My research is about intelligent Web APIs. Ruben Verborgh, PhD Student Ghent University / iMinds My dream: intelligent agents browsing the Web for us Bridging between people and things bringing things to the Web
  • 8. Functional composition of sensor Web APIs { Capturing functionality Creating compositions Evaluating feasibility
  • 9. Functional composition of sensor Web APIs { Capturing functionality Creating compositions Evaluating feasibility
  • 12. How to capture the functionality of these sensors? GPS device determines current location temperature sensor reads current temperature pressure sensor reads current air pressure
  • 13. We model sensors as Web APIs. Web APIs = HTTP APIs = REST APIs as opposed to “Big” Web services resource-oriented Sensor measurements are resources location temperature air pressure
  • 14. We capture the functionality of Web APIs with RESTdesc. RESTdesc describes the functionality of hypermedia-driven APIs with Notation3 (an RDF superset).
  • 15. RESTdesc can describe a temperature sensor. ! ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2 """"""""""%*+3'4)/5'&"#3'4)/5'&6 7 89 ! "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2 """"""""""""<//.+(%;0%$/BCD"#$%&$'(2 """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6 "" ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6 76
  • 16. RESTdesc can describe a temperature sensor. ! ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2 """"""""""%*+3'4)/5'&"#3'4)/5'&6 7 89 ! "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2 """"""""""""<//.+(%;0%$/BCD"#$%&$'(2 """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6 "" ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6 76
  • 17. RESTdesc can describe a temperature sensor. ! ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2 """"""""""%*+3'4)/5'&"#3'4)/5'&6 7 89 ! ""8+(%90%$/"://.+-%/:';<)-%"=>?,=2 """"""""""""://.+(%90%$/@AB"#$%&$'(2 """"""""""""://.+(%$."C"://.+D';E"#/%-.%()/0(%"F6 "" ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6 76
  • 18. RESTdesc can describe a temperature sensor. ! ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2 """"""""""%*+3'4)/5'&"#3'4)/5'&6 7 89 ! "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2 """"""""""""<//.+(%;0%$/BCD"#$%&$'(2 """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6 "" ""#3'4)/5'&"%*+:)$,%-.%()/0(%"#/%-.%()/0(%6 76
  • 19. RESTdesc provides simple functional descriptions. Hypermedia-driven no inputs or outputs, just links Capture functionality relationship between resources Rule-based logic implication
  • 20. Functional composition of sensor Web APIs { Capturing functionality Creating compositions Evaluating feasibility
  • 21. Why compose Web APIs? To answer a query by combining multiple APIs. Queries can be complex, APIs not necessarily known in advance.
  • 22. “Reserve a table in a nearby restaurant. If weather allows, I want to sit outside.”
  • 23. What APIs do we have at our disposition? Suppose we have many APIs, including: Location API Temperature API Pressure API Restaurant API
  • 24. What would a candidate solution lookoflike? Web a Functional Composition Sensor T I L R G P “Reserve a table in Location API bining the Location, Temperature, Pressure, and Restauran a nearby restaurant. Temperature API dependencies, we can reach the Goal from the Initial state If weather allows, Pressure API I want to sit outside.” Restaurant API
  • 25. RESTdesc descriptions enable automated composition. RESTdesc descriptions are rules Rules support inference Rules can be chained
  • 26. Does this composition satisfy the goal? { } Since descriptions are rules, => { } success is defined as entailment.
  • 27. If success is entailment, the proof is the composition. { } => The proof of the entailment { } { } contains the used rules, => { } thus the needed API requests.
  • 28. A semantic Web reasoner can create the composition. Functional Composition of Sensor Web a { } => { } { } { } => => { } T { } I L R G P “Reserve a table in { => } Location API biningnearby restaurant. { } Temperature API a the Location, Temperature, Pressure, and Restauran Pressure API dependencies, we can reach the Goal from the Initial state If weather allows, I want to sit outside.” Restaurant API
  • 29. RESTdesc composing behaves as a good Semantic Web citizen. works with generic semantic reasoners RESTdesc descriptions are rules no specific knowledge needed ontologies fill gaps domain-independent
  • 30. Functional composition of sensor Web APIs { Capturing functionality Creating compositions Evaluating feasibility
  • 32. Reasoner-based methods are often thought of as slow. partly perception limit reasoner experience partly the method translation into reasoner domain
  • 33. We tested composition chains for performance. n APIs with 1/2/3 dependencies to test chaining speed 32 APIs in presence of n dummies to test discrimination speed
  • 34. RESTdesc composition is so fast that it works on Web scale. chain of 512 APIs with 1 dependency in 0.4 seconds chain of 512 APIs with 3 dependencies in 1.6 seconds chain of 32 APIs with 512 dummies in 0,01 seconds
  • 35. Efficient implementations on Arduino boards. simple sensors as Web APIs described with RESTdesc central composer
  • 36. RESTdesc is an automated solution for sensor Web API composition. Describe REST Web APIs Use Semantic Web logic Compose with generic reasoners
  • 37. RESTdesc automatically composes sensor Web APIs. Curious? Let’s get in touch! Visit restdesc.org and connect to @RubenVerborgh on Twitter.