ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery
-
Upload
nikolas-gonzalo-bravo-rakela -
Category
Technology
-
view
197 -
download
1
Transcript of ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery
![Page 1: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/1.jpg)
REST Web Service Description for Graph-Based Service Discovery
ICWE 2015
Authors:Rosa AlarcónRodrigo SaffieNikolas BravoJaviera Cabello
25th June 2015
Pontificia Universidad Católica de Chile Engineering SchoolComputer Science Department
![Page 2: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/2.jpg)
Outline
1. Motivation & Problem Statement2. Related Work3. Rest API Description (RAD)4. Results5. Summary & Future Work
Outline REST Web Service Description for Graph-Based Service Description
![Page 3: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/3.jpg)
MOTIVATION AND PROBLEM STATEMENT
Motivation REST Web Service Description for Graph-Based Service Description
![Page 4: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/4.jpg)
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
![Page 5: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/5.jpg)
MotivationMotivation REST Web Service Description for Graph-Based Service Description
![Page 6: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/6.jpg)
MotivationMotivation REST Web Service Description for Graph-Based Service Description
![Page 7: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/7.jpg)
MotivationMotivation REST Web Service Description for Graph-Based Service Description
![Page 8: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/8.jpg)
MotivationMotivation REST Web Service Description for Graph-Based Service Description
![Page 9: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/9.jpg)
MotivationMotivation REST Web Service Description for Graph-Based Service Description
![Page 10: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/10.jpg)
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
![Page 11: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/11.jpg)
REST WS PopularityMotivation REST Web Service Description for Graph-Based Service Description
Sear
ch In
tere
st
Source: Google Trends, June 10, 2015
![Page 12: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/12.jpg)
REST WS PopularityMotivation REST Web Service Description for Graph-Based Service Description
Source: ProgrammableWeb, Mar 24, 2014
![Page 13: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/13.jpg)
Problem Statement
• Nowadays REST services are isolated• We aim for automatic discovery and
composition of REST Web Services– Facilitate that end-users find the resources they
need– Facilitate the creation of new services upon
existing services
Problem Statement REST Web Service Description for Graph-Based Service Description
![Page 14: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/14.jpg)
RELATED WORK
Related Work REST Web Service Description for Graph-Based Service Description
![Page 15: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/15.jpg)
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
![Page 16: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/16.jpg)
REST API DESCRIPTION (RAD)
RAD REST Web Service Description for Graph-Based Service Description
![Page 17: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/17.jpg)
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
![Page 18: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/18.jpg)
RAD MetamodelRAD REST Web Service Description for Graph-Based Service Description
![Page 19: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/19.jpg)
RAD Implementations
• RAD can be implemented in multiple formats• We used:– Microdata– JSON
RAD REST Web Service Description for Graph-Based Service Description
![Page 20: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/20.jpg)
RAD Implementations: JSONRAD REST Web Service Description for Graph-Based Service Description
![Page 21: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/21.jpg)
RAD Implementations: JSONRAD REST Web Service Description for Graph-Based Service Description
![Page 22: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/22.jpg)
RAD Implementations: JSONRAD REST Web Service Description for Graph-Based Service Description
![Page 23: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/23.jpg)
RAD Implementations: JSONRAD REST Web Service Description for Graph-Based Service Description
![Page 24: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/24.jpg)
RAD MetagraphRAD REST Web Service Description for Graph-Based Service Description
![Page 25: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/25.jpg)
RESULTS
Results REST Web Service Description for Graph-Based Service Description
![Page 26: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/26.jpg)
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
![Page 27: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/27.jpg)
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
![Page 28: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/28.jpg)
GraphResults REST Web Service Description for Graph-Based Service Description
![Page 29: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/29.jpg)
Results REST Web Service Description for Graph-Based Service Description
![Page 30: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/30.jpg)
Results REST Web Service Description for Graph-Based Service Description
Vocabulary
![Page 31: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/31.jpg)
Use Cases
• We will analize two use cases:
– Service Discovery
– Service Composition
Results REST Web Service Description for Graph-Based Service Description
![Page 32: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/32.jpg)
Use Case: Discovery
A user wants to find a given artist’s playlists
Results REST Web Service Description for Graph-Based Service Description
,
![Page 33: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/33.jpg)
Use Case: Discovery Cypher QueryResults 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
![Page 34: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/34.jpg)
Use Case: Discovery Cypher QueryResults 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
![Page 35: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/35.jpg)
Use Case: Discovery Cypher QueryResults 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
![Page 36: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/36.jpg)
Use Case: Discovery Cypher QueryResults 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
![Page 37: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/37.jpg)
Use Case: Discovery Cypher QueryResults 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
![Page 38: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/38.jpg)
Use Case: Discovery Cypher QueryResults 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
![Page 39: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/39.jpg)
Use Case: DiscoveryResults REST Web Service Description for Graph-Based Service Description
Concept: 'http://schema.org/Thing/CreativeWork/MusicPlaylist’Action: 'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction’
![Page 40: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/40.jpg)
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
![Page 41: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/41.jpg)
Use Case: CompositionResults REST Web Service Description for Graph-Based Service Description
![Page 42: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/42.jpg)
CompositionResults REST Web Service Description for Graph-Based Service Description
Concept: ‘(…)/MusicGroupCollection’Action: ‘(…)/GetSimilarArtistsAction’
![Page 43: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/43.jpg)
CompositionResults REST Web Service Description for Graph-Based Service Description
Concept: ‘(…)/MusicEventCollection’Action: ‘(…)/MusicEventSearchAction’
![Page 44: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/44.jpg)
CompositionResults REST Web Service Description for Graph-Based Service Description
Concept: ‘(…)/TaxiCollection’Action: ‘(…)/GetTaxiCollectionAction’
![Page 45: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/45.jpg)
SUMMARY &FUTURE WORK
Summary REST Web Service Description for Graph-Based Service Description
![Page 46: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/46.jpg)
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
![Page 47: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/47.jpg)
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
![Page 48: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/48.jpg)
Future Work
• Automatic service composition
• Metalanguage for RAD graph queries
• Natural language queries
Future Work REST Web Service Description for Graph-Based Service Description
![Page 49: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/49.jpg)
Acknowledgements
• Engineering’s Graduate School at PUC
• Computer Science Dept. at PUC
Future Work REST Web Service Description for Graph-Based Service Description
![Page 50: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/50.jpg)
REST Web Service Description for Graph-Based Service Discovery
ICWE 2015
Authors:Rosa AlarcónRodrigo Saffie ([email protected])Nikolas Bravo ([email protected])Javiera Cabello
25th June 2015
Pontificia Universidad Católica de Chile Engineering SchoolComputer Science Department
![Page 51: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/51.jpg)
Extended OntologyResults REST Web Service Description for Graph-Based Service Description
![Page 52: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery](https://reader030.fdocuments.net/reader030/viewer/2022032505/55c5fa49bb61eb1a078b4638/html5/thumbnails/52.jpg)
Template
• Blah
Template REST Web Service Description for Graph-Based Service Description