SlideShare a Scribd company logo
1 of 50
Download to read offline
REST Web	
  Service	
  Description	
  for	
  
Graph-­‐Based	
  Service	
  Discovery
ICWE	
  2015
Authors:
Rosa	
  Alarcón
Rodrigo	
  Saffie (rasaffie@uc.cl)
Nikolas Bravo	
  (ngbravo@uc.cl)
Javiera	
  Cabello
25th	
  June	
  2015
Pontificia	
  Universidad	
  Católica	
  de	
  Chile	
  
Engineering	
   School
Computer	
  Science	
  Department
Outline
1. Motivation &	
  Problem Statement
2. Related	
  Work
3. Rest API	
  Description (RAD)
4. Results
5. Summary &	
  Future Work
Outline REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
MOTIVATION	
  AND	
  
PROBLEM	
  STATEMENT
Motivation REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Motivation
• Let's	
  suppose	
  we	
  want to	
  create	
  a	
  service	
  
where	
  you	
  can	
  look	
  up	
  your	
  favorite	
  artist's	
  
top	
  tracks
• Web	
  services	
  will	
  allow	
  us	
  to	
  use	
  what	
  others	
  
have	
  already	
  done
• So	
  how	
  would	
  we	
  proceed	
  to	
  create	
  such	
  
service?
Motivation REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Motivation
Motivation REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Motivation
Motivation REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Motivation
Motivation REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Motivation
Motivation REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Motivation
Motivation REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Motivation
• Manual	
  search	
  of	
  web	
  services	
  by	
  category is
insufficient
• Descriptions	
  are	
  not	
  machine-­‐readable
• Similar	
  services	
  are	
  not	
  connected
Motivation REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
REST	
  WS	
  Popularity
Motivation REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  DescriptionSearchInterest
Source:	
  Google	
  Trends,	
  June	
  10,	
  2015
REST	
  WS	
  Popularity
Motivation REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Source:	
  ProgrammableWeb,	
  Mar	
  24,	
  2014
Problem	
  Statement
• Nowadays REST	
  services are	
  isolated
• We aim for automatic discovery and	
  
composition of	
  REST	
  Web	
  Services
– Facilitate that end-­‐usersfind the resources they
need
– Facilitate the creation of	
  new	
  services upon
existing services
Problem	
  Statement REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
RELATED	
  WORK
Related	
  Work REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Related	
  Work
• RAML
– http://raml.org/
• RESTdesc
– http://restdesc.org/
• HYDRA
– http://www.markus-­‐lanthaler.com/hydra/
• WADL
– http://www.w3.org/Submission/wadl/
Related	
  Work REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
REST API DESCRIPTION	
  (RAD)
RAD REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Rest	
  API	
  Description	
  (RAD)
• Hypermedia-­‐centric
• Machine-­‐readable	
  description
• Connection of	
  services at	
  a	
  semantic level
RAD REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
RAD	
  Metamodel
RAD REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
RAD	
  Implementations
• RAD	
  can	
  be	
  implemented	
  in	
  multiple	
  formats
• We	
  used:
– Microdata
– JSON
RAD REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
RAD	
  Implementations:	
  JSON
RAD REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
RAD	
  Implementations:	
  JSON
RAD REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
RAD	
  Implementations:	
  JSON
RAD REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
RAD	
  Implementations:	
  JSON
RAD REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
RAD	
  Metagraph
RAD REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
RESULTS
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
An	
  Illustrative	
  Example
• Spotify
– https://developer.spotify.com/web-­‐api/
• Songkick
– http://www.songkick.com/developer
• Uber
– https://developer.uber.com/
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Extended	
  Vocabulary
• Extended	
  schema.org vocabulary
• Parameters	
  and	
  actions	
  have	
  an	
  URI
• Specialization	
  relationships	
  between	
  concepts
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Graph
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Vocabulary
Use	
  Cases
• We	
  will	
  analize	
  two	
  use	
  cases:
– Service Discovery
– Service Composition
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Use	
  Case:	
  Discovery
A	
  user wants to	
  find a	
  given artist’s playlists
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
,
Use	
  Case:	
  Discovery	
  Cypher	
  Query
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
MATCH	
  (concept)<-­‐[:`is	
  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters)
WHERE	
  concept.GRI=~	
  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND	
  action.GRI=	
  
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND	
  concept:	
  `Resource	
  Concept`	
  
AND	
  resources:	
  Resource	
  
AND	
  operations:	
  Operation
AND	
  parameters:	
  Parameter
RETURN	
  concept,	
  resources,	
  operations,	
  parameters
Use	
  Case:	
  Discovery	
  Cypher	
  Query
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
MATCH	
  (concept)<-­‐[:`is	
  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters)
WHERE	
  concept.GRI=~	
  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND	
  action.GRI=	
  
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND	
  concept:	
  `Resource	
  Concept`	
  
AND	
  resources:	
  Resource	
  
AND	
  operations:	
  Operation
AND	
  parameters:	
  Parameter
RETURN	
  concept,	
  resources,	
  operations,	
  parameters
Use	
  Case:	
  Discovery	
  Cypher	
  Query
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
MATCH	
  (concept)<-­‐[:`is	
  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters)
WHERE	
  concept.GRI=~	
  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND	
  action.GRI=	
  
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND	
  concept:	
  `Resource	
  Concept`	
  
AND	
  resources:	
  Resource	
  
AND	
  operations:	
  Operation
AND	
  parameters:	
  Parameter
RETURN	
  concept,	
  resources,	
  operations,	
  parameters
Use	
  Case:	
  Discovery	
  Cypher	
  Query
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
MATCH	
  (concept)<-­‐[:`is	
  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters)
WHERE	
  concept.GRI=~	
  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND	
  action.GRI =	
  
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND	
  concept:	
  `Resource	
  Concept`	
  
AND	
  resources:	
  Resource	
  
AND	
  operations:	
  Operation
AND	
  parameters:	
  Parameter
RETURN	
  concept,	
  resources,	
  operations,	
  parameters
Use	
  Case:	
  Discovery	
  Cypher	
  Query
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
MATCH	
  (concept)<-­‐[:`is	
  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters)
WHERE	
  concept.GRI=~	
  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND	
  action.GRI=	
  
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND	
  concept:	
  `Resource	
  Concept`	
  
AND	
  resources:	
  Resource	
  
AND	
  operations:	
  Operation
AND	
  parameters:	
  Parameter
RETURN	
  concept,	
  resources,	
  operations,	
  parameters
Use	
  Case:	
  Discovery	
  Cypher	
  Query
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
MATCH	
  (concept)<-­‐[:`is	
  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters)
WHERE	
  concept.GRI=~	
  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND	
  action.GRI=	
  
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND	
  concept:	
  `Resource	
  Concept`	
  
AND	
  resources:	
  Resource	
  
AND	
  operations:	
  Operation
AND	
  parameters:	
  Parameter
RETURN	
  concept,	
  resources,	
  operations,	
  parameters
Use	
  Case:	
  Discovery
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Concept:	
  'http://schema.org/Thing/CreativeWork/MusicPlaylist’
Action:	
  'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction’
Use	
  Case:	
  Composition
A	
  user	
  wants	
  to	
  attend	
  a	
  concert	
  but	
  her	
  favorite	
  
band	
  is	
  not	
  in	
  town.	
  She	
  decides	
  to	
  go	
  to	
  a	
  
similar	
  artist	
  concert	
  and	
  needs	
  to	
  know	
  the	
  
venues where	
  they	
  will	
  play	
  as	
  well	
  as	
  
information	
  of	
  taxis	
  to	
  reach the event.
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Use	
  Case:	
  Composition
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Composition
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Concept:	
  ‘(…)/MusicGroupCollection’
Action:	
  ‘(…)/GetSimilarArtistsAction’
Composition
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Concept:	
  ‘(…)/MusicEventCollection’
Action:	
  ‘(…)/MusicEventSearchAction’
Composition
Results REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Concept:	
  ‘(…)/TaxiCollection’
Action:	
  ‘(…)/GetTaxiCollectionAction’
SUMMARY	
  &
FUTURE	
  WORK
Summary REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Summary
• Natural	
  language	
  descriptions	
  are	
  insufficient
for	
  automatic	
  discovery	
  &	
  composition
• A	
  hypermedia-­‐centered model	
  facilitates	
  
discovery	
  &	
  composition
Summary REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Summary
• A	
  graph-­‐based solution allows to	
  represent
links between REST	
  web	
  services
• RAD	
  allows resources and	
  operations to	
  be	
  
discovered through concepts and	
  actions
Summary REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Future	
  Work
• Automatic	
  service	
  composition
• Metalanguage	
  for	
  RAD	
  graph	
  queries
• Natural	
  language	
  queries
Future	
  Work REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
Acknowledgements
• Engineering’s Graduate School at	
  PUC
• Computer Science Dept.	
  at	
  PUC
Future	
  Work REST	
  Web	
  Service	
  Description	
  for	
  Graph-­‐Based	
  Service	
  Description
REST Web	
  Service	
  Description	
  for	
  
Graph-­‐Based	
  Service	
  Discovery
ICWE	
  2015
Authors:
Rosa	
  Alarcón
Rodrigo	
  Saffie (rasaffie@uc.cl)
Nikolas Bravo	
  (ngbravo@uc.cl)
Javiera	
  Cabello
25th	
  June	
  2015
Pontificia	
  Universidad	
  Católica	
  de	
  Chile	
  
Engineering	
   School
Computer	
  Science	
  Department

More Related Content

Similar to (Web Composition and Mashups track) "REST Web Service Description for Graph-Based Service Discovery" - Rosa Alarcon, Rodrigo Saffie, Nikolas Bravo, and Javiera Cabello

Semantic DESCription as a Service
Semantic DESCription as a ServiceSemantic DESCription as a Service
Semantic DESCription as a Service
uji_geotec
 
Mashups and Web Services
Mashups and Web ServicesMashups and Web Services
Mashups and Web Services
giurca
 
JAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScriptJAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScript
martinlippert
 
SFScon22 - Francesco Corcoglioniti - Integrating Dynamically-Computed Data an...
SFScon22 - Francesco Corcoglioniti - Integrating Dynamically-Computed Data an...SFScon22 - Francesco Corcoglioniti - Integrating Dynamically-Computed Data an...
SFScon22 - Francesco Corcoglioniti - Integrating Dynamically-Computed Data an...
South Tyrol Free Software Conference
 

Similar to (Web Composition and Mashups track) "REST Web Service Description for Graph-Based Service Discovery" - Rosa Alarcon, Rodrigo Saffie, Nikolas Bravo, and Javiera Cabello (20)

Linked services
Linked servicesLinked services
Linked services
 
Semantic DESCription as a Service
Semantic DESCription as a ServiceSemantic DESCription as a Service
Semantic DESCription as a Service
 
Mashups and Web Services
Mashups and Web ServicesMashups and Web Services
Mashups and Web Services
 
Integration on Force.com Platform
Integration on Force.com PlatformIntegration on Force.com Platform
Integration on Force.com Platform
 
Ai lifecycle and navigator
Ai lifecycle and navigatorAi lifecycle and navigator
Ai lifecycle and navigator
 
Serverless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product Developers
 
JAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScriptJAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScript
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
 
Exploring Relay land
Exploring Relay landExploring Relay land
Exploring Relay land
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
GraphQL across the stack: How everything fits together
GraphQL across the stack: How everything fits togetherGraphQL across the stack: How everything fits together
GraphQL across the stack: How everything fits together
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync
 
SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)
 
O reilly sacon2018nyc - restful api design - master - v1.0
O reilly sacon2018nyc - restful api design - master - v1.0O reilly sacon2018nyc - restful api design - master - v1.0
O reilly sacon2018nyc - restful api design - master - v1.0
 
Ntg web services
Ntg   web servicesNtg   web services
Ntg web services
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
SFScon22 - Francesco Corcoglioniti - Integrating Dynamically-Computed Data an...
SFScon22 - Francesco Corcoglioniti - Integrating Dynamically-Computed Data an...SFScon22 - Francesco Corcoglioniti - Integrating Dynamically-Computed Data an...
SFScon22 - Francesco Corcoglioniti - Integrating Dynamically-Computed Data an...
 
RESTful Web services in Drupal 8
RESTful Web services in Drupal 8RESTful Web services in Drupal 8
RESTful Web services in Drupal 8
 
Effective Semantic Web Service Composition Framework Based on QoS
Effective Semantic Web Service Composition Framework Based on QoSEffective Semantic Web Service Composition Framework Based on QoS
Effective Semantic Web Service Composition Framework Based on QoS
 

More from icwe2015

(Web User Interfaces track) "Getting the Query Right: User Interface Design o...
(Web User Interfaces track) "Getting the Query Right: User Interface Design o...(Web User Interfaces track) "Getting the Query Right: User Interface Design o...
(Web User Interfaces track) "Getting the Query Right: User Interface Design o...
icwe2015
 
(Web Application Design track) "Two Factor Authentication Made Easy" - Alex Q...
(Web Application Design track) "Two Factor Authentication Made Easy" - Alex Q...(Web Application Design track) "Two Factor Authentication Made Easy" - Alex Q...
(Web Application Design track) "Two Factor Authentication Made Easy" - Alex Q...
icwe2015
 
(Semantic Web Technologies and Applications track) "MIRROR: Automatic R2RML M...
(Semantic Web Technologies and Applications track) "MIRROR: Automatic R2RML M...(Semantic Web Technologies and Applications track) "MIRROR: Automatic R2RML M...
(Semantic Web Technologies and Applications track) "MIRROR: Automatic R2RML M...
icwe2015
 
(Linked Data Development and Exploitation track) "YQL as a Platform for Linke...
(Linked Data Development and Exploitation track) "YQL as a Platform for Linke...(Linked Data Development and Exploitation track) "YQL as a Platform for Linke...
(Linked Data Development and Exploitation track) "YQL as a Platform for Linke...
icwe2015
 
(Linked Data Interfaces and Querying track) "SUMMA: A Common API for Linked D...
(Linked Data Interfaces and Querying track) "SUMMA: A Common API for Linked D...(Linked Data Interfaces and Querying track) "SUMMA: A Common API for Linked D...
(Linked Data Interfaces and Querying track) "SUMMA: A Common API for Linked D...
icwe2015
 
(Linked Data Development and Exploitation track) "Generating the Semantic Sna...
(Linked Data Development and Exploitation track) "Generating the Semantic Sna...(Linked Data Development and Exploitation track) "Generating the Semantic Sna...
(Linked Data Development and Exploitation track) "Generating the Semantic Sna...
icwe2015
 
(Industry track) "Interactive networks for digital cultural heritage collecti...
(Industry track) "Interactive networks for digital cultural heritage collecti...(Industry track) "Interactive networks for digital cultural heritage collecti...
(Industry track) "Interactive networks for digital cultural heritage collecti...
icwe2015
 
(SoWeMine Workshop) "#nowplaying on #Spotify: Leveraging Spotify Information ...
(SoWeMine Workshop) "#nowplaying on #Spotify: Leveraging Spotify Information ...(SoWeMine Workshop) "#nowplaying on #Spotify: Leveraging Spotify Information ...
(SoWeMine Workshop) "#nowplaying on #Spotify: Leveraging Spotify Information ...
icwe2015
 
(Mobile Web Applications track) "Mobile-IDM: A Design Method for Modeling the...
(Mobile Web Applications track) "Mobile-IDM: A Design Method for Modeling the...(Mobile Web Applications track) "Mobile-IDM: A Design Method for Modeling the...
(Mobile Web Applications track) "Mobile-IDM: A Design Method for Modeling the...
icwe2015
 
(Mobile Web Applications track) "Profiling User Activities with Minimal Traff...
(Mobile Web Applications track) "Profiling User Activities with Minimal Traff...(Mobile Web Applications track) "Profiling User Activities with Minimal Traff...
(Mobile Web Applications track) "Profiling User Activities with Minimal Traff...
icwe2015
 
(SoWeMine Workshop) "Retrieving Relevant and Interesting Tweets during Live T...
(SoWeMine Workshop) "Retrieving Relevant and Interesting Tweets during Live T...(SoWeMine Workshop) "Retrieving Relevant and Interesting Tweets during Live T...
(SoWeMine Workshop) "Retrieving Relevant and Interesting Tweets during Live T...
icwe2015
 
(NLPIT Workshop) (Keynote) Nathan Schneider - “Hacking a Way Through the Twit...
(NLPIT Workshop) (Keynote) Nathan Schneider - “Hacking a Way Through the Twit...(NLPIT Workshop) (Keynote) Nathan Schneider - “Hacking a Way Through the Twit...
(NLPIT Workshop) (Keynote) Nathan Schneider - “Hacking a Way Through the Twit...
icwe2015
 
(PEWET Workshop) (Keynote) Vincenzo De Florio - “Fractally-organized Connecti...
(PEWET Workshop) (Keynote) Vincenzo De Florio - “Fractally-organized Connecti...(PEWET Workshop) (Keynote) Vincenzo De Florio - “Fractally-organized Connecti...
(PEWET Workshop) (Keynote) Vincenzo De Florio - “Fractally-organized Connecti...
icwe2015
 
(Web Application Design track) "Liquid Stream Processing across Web Browsers ...
(Web Application Design track) "Liquid Stream Processing across Web Browsers ...(Web Application Design track) "Liquid Stream Processing across Web Browsers ...
(Web Application Design track) "Liquid Stream Processing across Web Browsers ...
icwe2015
 
(Semantic Web Technologies and Applications track) "A Quantitative Comparison...
(Semantic Web Technologies and Applications track) "A Quantitative Comparison...(Semantic Web Technologies and Applications track) "A Quantitative Comparison...
(Semantic Web Technologies and Applications track) "A Quantitative Comparison...
icwe2015
 
(Keynote) Peter Mika - “Making the Web Searchable”
(Keynote) Peter Mika - “Making the Web Searchable”(Keynote) Peter Mika - “Making the Web Searchable”
(Keynote) Peter Mika - “Making the Web Searchable”
icwe2015
 
(Keynote) Mike Thelwall - “Sentiment Strength Detection for Social Media Text...
(Keynote) Mike Thelwall - “Sentiment Strength Detection for Social Media Text...(Keynote) Mike Thelwall - “Sentiment Strength Detection for Social Media Text...
(Keynote) Mike Thelwall - “Sentiment Strength Detection for Social Media Text...
icwe2015
 

More from icwe2015 (19)

Mikkonen liquid-sw-icwe2015
Mikkonen liquid-sw-icwe2015Mikkonen liquid-sw-icwe2015
Mikkonen liquid-sw-icwe2015
 
(Web User Interfaces track) "Getting the Query Right: User Interface Design o...
(Web User Interfaces track) "Getting the Query Right: User Interface Design o...(Web User Interfaces track) "Getting the Query Right: User Interface Design o...
(Web User Interfaces track) "Getting the Query Right: User Interface Design o...
 
(Web Application Design track) "Two Factor Authentication Made Easy" - Alex Q...
(Web Application Design track) "Two Factor Authentication Made Easy" - Alex Q...(Web Application Design track) "Two Factor Authentication Made Easy" - Alex Q...
(Web Application Design track) "Two Factor Authentication Made Easy" - Alex Q...
 
(Semantic Web Technologies and Applications track) "MIRROR: Automatic R2RML M...
(Semantic Web Technologies and Applications track) "MIRROR: Automatic R2RML M...(Semantic Web Technologies and Applications track) "MIRROR: Automatic R2RML M...
(Semantic Web Technologies and Applications track) "MIRROR: Automatic R2RML M...
 
(Linked Data Development and Exploitation track) "YQL as a Platform for Linke...
(Linked Data Development and Exploitation track) "YQL as a Platform for Linke...(Linked Data Development and Exploitation track) "YQL as a Platform for Linke...
(Linked Data Development and Exploitation track) "YQL as a Platform for Linke...
 
(Linked Data Interfaces and Querying track) "SUMMA: A Common API for Linked D...
(Linked Data Interfaces and Querying track) "SUMMA: A Common API for Linked D...(Linked Data Interfaces and Querying track) "SUMMA: A Common API for Linked D...
(Linked Data Interfaces and Querying track) "SUMMA: A Common API for Linked D...
 
(Linked Data Development and Exploitation track) "Generating the Semantic Sna...
(Linked Data Development and Exploitation track) "Generating the Semantic Sna...(Linked Data Development and Exploitation track) "Generating the Semantic Sna...
(Linked Data Development and Exploitation track) "Generating the Semantic Sna...
 
(Industry track) "Interactive networks for digital cultural heritage collecti...
(Industry track) "Interactive networks for digital cultural heritage collecti...(Industry track) "Interactive networks for digital cultural heritage collecti...
(Industry track) "Interactive networks for digital cultural heritage collecti...
 
(SoWeMine Workshop) "#nowplaying on #Spotify: Leveraging Spotify Information ...
(SoWeMine Workshop) "#nowplaying on #Spotify: Leveraging Spotify Information ...(SoWeMine Workshop) "#nowplaying on #Spotify: Leveraging Spotify Information ...
(SoWeMine Workshop) "#nowplaying on #Spotify: Leveraging Spotify Information ...
 
(Mobile Web Applications track) "Mobile-IDM: A Design Method for Modeling the...
(Mobile Web Applications track) "Mobile-IDM: A Design Method for Modeling the...(Mobile Web Applications track) "Mobile-IDM: A Design Method for Modeling the...
(Mobile Web Applications track) "Mobile-IDM: A Design Method for Modeling the...
 
(Linked Data Development and Exploitation track) "Curtains Up! Lights, Camera...
(Linked Data Development and Exploitation track) "Curtains Up! Lights, Camera...(Linked Data Development and Exploitation track) "Curtains Up! Lights, Camera...
(Linked Data Development and Exploitation track) "Curtains Up! Lights, Camera...
 
(Mobile Web Applications track) "Profiling User Activities with Minimal Traff...
(Mobile Web Applications track) "Profiling User Activities with Minimal Traff...(Mobile Web Applications track) "Profiling User Activities with Minimal Traff...
(Mobile Web Applications track) "Profiling User Activities with Minimal Traff...
 
(SoWeMine Workshop) "Retrieving Relevant and Interesting Tweets during Live T...
(SoWeMine Workshop) "Retrieving Relevant and Interesting Tweets during Live T...(SoWeMine Workshop) "Retrieving Relevant and Interesting Tweets during Live T...
(SoWeMine Workshop) "Retrieving Relevant and Interesting Tweets during Live T...
 
(NLPIT Workshop) (Keynote) Nathan Schneider - “Hacking a Way Through the Twit...
(NLPIT Workshop) (Keynote) Nathan Schneider - “Hacking a Way Through the Twit...(NLPIT Workshop) (Keynote) Nathan Schneider - “Hacking a Way Through the Twit...
(NLPIT Workshop) (Keynote) Nathan Schneider - “Hacking a Way Through the Twit...
 
(PEWET Workshop) (Keynote) Vincenzo De Florio - “Fractally-organized Connecti...
(PEWET Workshop) (Keynote) Vincenzo De Florio - “Fractally-organized Connecti...(PEWET Workshop) (Keynote) Vincenzo De Florio - “Fractally-organized Connecti...
(PEWET Workshop) (Keynote) Vincenzo De Florio - “Fractally-organized Connecti...
 
(Web Application Design track) "Liquid Stream Processing across Web Browsers ...
(Web Application Design track) "Liquid Stream Processing across Web Browsers ...(Web Application Design track) "Liquid Stream Processing across Web Browsers ...
(Web Application Design track) "Liquid Stream Processing across Web Browsers ...
 
(Semantic Web Technologies and Applications track) "A Quantitative Comparison...
(Semantic Web Technologies and Applications track) "A Quantitative Comparison...(Semantic Web Technologies and Applications track) "A Quantitative Comparison...
(Semantic Web Technologies and Applications track) "A Quantitative Comparison...
 
(Keynote) Peter Mika - “Making the Web Searchable”
(Keynote) Peter Mika - “Making the Web Searchable”(Keynote) Peter Mika - “Making the Web Searchable”
(Keynote) Peter Mika - “Making the Web Searchable”
 
(Keynote) Mike Thelwall - “Sentiment Strength Detection for Social Media Text...
(Keynote) Mike Thelwall - “Sentiment Strength Detection for Social Media Text...(Keynote) Mike Thelwall - “Sentiment Strength Detection for Social Media Text...
(Keynote) Mike Thelwall - “Sentiment Strength Detection for Social Media Text...
 

(Web Composition and Mashups track) "REST Web Service Description for Graph-Based Service Discovery" - Rosa Alarcon, Rodrigo Saffie, Nikolas Bravo, and Javiera Cabello

  • 1. REST Web  Service  Description  for   Graph-­‐Based  Service  Discovery ICWE  2015 Authors: Rosa  Alarcón Rodrigo  Saffie (rasaffie@uc.cl) Nikolas Bravo  (ngbravo@uc.cl) Javiera  Cabello 25th  June  2015 Pontificia  Universidad  Católica  de  Chile   Engineering   School Computer  Science  Department
  • 2. Outline 1. Motivation &  Problem Statement 2. Related  Work 3. Rest API  Description (RAD) 4. Results 5. Summary &  Future Work Outline REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 3. MOTIVATION  AND   PROBLEM  STATEMENT Motivation REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 4. Motivation • Let's  suppose  we  want to  create  a  service   where  you  can  look  up  your  favorite  artist's   top  tracks • Web  services  will  allow  us  to  use  what  others   have  already  done • So  how  would  we  proceed  to  create  such   service? Motivation REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 5. Motivation Motivation REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 6. Motivation Motivation REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 7. Motivation Motivation REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 8. Motivation Motivation REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 9. Motivation Motivation REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 10. Motivation • Manual  search  of  web  services  by  category is insufficient • Descriptions  are  not  machine-­‐readable • Similar  services  are  not  connected Motivation REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 11. REST  WS  Popularity Motivation REST  Web  Service  Description  for  Graph-­‐Based  Service  DescriptionSearchInterest Source:  Google  Trends,  June  10,  2015
  • 12. REST  WS  Popularity Motivation REST  Web  Service  Description  for  Graph-­‐Based  Service  Description Source:  ProgrammableWeb,  Mar  24,  2014
  • 13. Problem  Statement • Nowadays REST  services are  isolated • We aim for automatic discovery and   composition of  REST  Web  Services – Facilitate that end-­‐usersfind the resources they need – Facilitate the creation of  new  services upon existing services Problem  Statement REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 14. RELATED  WORK Related  Work REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 15. Related  Work • RAML – http://raml.org/ • RESTdesc – http://restdesc.org/ • HYDRA – http://www.markus-­‐lanthaler.com/hydra/ • WADL – http://www.w3.org/Submission/wadl/ Related  Work REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 16. REST API DESCRIPTION  (RAD) RAD REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 17. Rest  API  Description  (RAD) • Hypermedia-­‐centric • Machine-­‐readable  description • Connection of  services at  a  semantic level RAD REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 18. RAD  Metamodel RAD REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 19. RAD  Implementations • RAD  can  be  implemented  in  multiple  formats • We  used: – Microdata – JSON RAD REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 20. RAD  Implementations:  JSON RAD REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 21. RAD  Implementations:  JSON RAD REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 22. RAD  Implementations:  JSON RAD REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 23. RAD  Implementations:  JSON RAD REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 24. RAD  Metagraph RAD REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 25. RESULTS Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 26. An  Illustrative  Example • Spotify – https://developer.spotify.com/web-­‐api/ • Songkick – http://www.songkick.com/developer • Uber – https://developer.uber.com/ Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 27. Extended  Vocabulary • Extended  schema.org vocabulary • Parameters  and  actions  have  an  URI • Specialization  relationships  between  concepts Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 28. Graph Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 29. Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 30. Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description Vocabulary
  • 31. Use  Cases • We  will  analize  two  use  cases: – Service Discovery – Service Composition Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 32. Use  Case:  Discovery A  user wants to  find a  given artist’s playlists Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description ,
  • 33. Use  Case:  Discovery  Cypher  Query Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description MATCH  (concept)<-­‐[:`is  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters) WHERE  concept.GRI=~  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*' AND  action.GRI=   'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction' AND  concept:  `Resource  Concept`   AND  resources:  Resource   AND  operations:  Operation AND  parameters:  Parameter RETURN  concept,  resources,  operations,  parameters
  • 34. Use  Case:  Discovery  Cypher  Query Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description MATCH  (concept)<-­‐[:`is  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters) WHERE  concept.GRI=~  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*' AND  action.GRI=   'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction' AND  concept:  `Resource  Concept`   AND  resources:  Resource   AND  operations:  Operation AND  parameters:  Parameter RETURN  concept,  resources,  operations,  parameters
  • 35. Use  Case:  Discovery  Cypher  Query Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description MATCH  (concept)<-­‐[:`is  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters) WHERE  concept.GRI=~  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*' AND  action.GRI=   'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction' AND  concept:  `Resource  Concept`   AND  resources:  Resource   AND  operations:  Operation AND  parameters:  Parameter RETURN  concept,  resources,  operations,  parameters
  • 36. Use  Case:  Discovery  Cypher  Query Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description MATCH  (concept)<-­‐[:`is  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters) WHERE  concept.GRI=~  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*' AND  action.GRI =   'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction' AND  concept:  `Resource  Concept`   AND  resources:  Resource   AND  operations:  Operation AND  parameters:  Parameter RETURN  concept,  resources,  operations,  parameters
  • 37. Use  Case:  Discovery  Cypher  Query Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description MATCH  (concept)<-­‐[:`is  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters) WHERE  concept.GRI=~  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*' AND  action.GRI=   'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction' AND  concept:  `Resource  Concept`   AND  resources:  Resource   AND  operations:  Operation AND  parameters:  Parameter RETURN  concept,  resources,  operations,  parameters
  • 38. Use  Case:  Discovery  Cypher  Query Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description MATCH  (concept)<-­‐[:`is  a`]-­‐(resources)-­‐[action]-­‐>(operations)-­‐[:uses]-­‐>(parameters) WHERE  concept.GRI=~  'http://schema.org/Thing/CreativeWork/MusicPlaylist.*' AND  action.GRI=   'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction' AND  concept:  `Resource  Concept`   AND  resources:  Resource   AND  operations:  Operation AND  parameters:  Parameter RETURN  concept,  resources,  operations,  parameters
  • 39. Use  Case:  Discovery Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description Concept:  'http://schema.org/Thing/CreativeWork/MusicPlaylist’ Action:  'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction’
  • 40. Use  Case:  Composition A  user  wants  to  attend  a  concert  but  her  favorite   band  is  not  in  town.  She  decides  to  go  to  a   similar  artist  concert  and  needs  to  know  the   venues where  they  will  play  as  well  as   information  of  taxis  to  reach the event. Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 41. Use  Case:  Composition Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 42. Composition Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description Concept:  ‘(…)/MusicGroupCollection’ Action:  ‘(…)/GetSimilarArtistsAction’
  • 43. Composition Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description Concept:  ‘(…)/MusicEventCollection’ Action:  ‘(…)/MusicEventSearchAction’
  • 44. Composition Results REST  Web  Service  Description  for  Graph-­‐Based  Service  Description Concept:  ‘(…)/TaxiCollection’ Action:  ‘(…)/GetTaxiCollectionAction’
  • 45. SUMMARY  & FUTURE  WORK Summary REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 46. Summary • Natural  language  descriptions  are  insufficient for  automatic  discovery  &  composition • A  hypermedia-­‐centered model  facilitates   discovery  &  composition Summary REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 47. Summary • A  graph-­‐based solution allows to  represent links between REST  web  services • RAD  allows resources and  operations to  be   discovered through concepts and  actions Summary REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 48. Future  Work • Automatic  service  composition • Metalanguage  for  RAD  graph  queries • Natural  language  queries Future  Work REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 49. Acknowledgements • Engineering’s Graduate School at  PUC • Computer Science Dept.  at  PUC Future  Work REST  Web  Service  Description  for  Graph-­‐Based  Service  Description
  • 50. REST Web  Service  Description  for   Graph-­‐Based  Service  Discovery ICWE  2015 Authors: Rosa  Alarcón Rodrigo  Saffie (rasaffie@uc.cl) Nikolas Bravo  (ngbravo@uc.cl) Javiera  Cabello 25th  June  2015 Pontificia  Universidad  Católica  de  Chile   Engineering   School Computer  Science  Department