52
REST Web Service Description for Graph-Based Service Discovery ICWE 2015 Authors: Rosa Alarcón Rodrigo Saffie Nikolas Bravo Javiera Cabello 25th June 2015 Pontificia Universidad Católica de Chile Engineering School Computer Science Department

ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

Embed Size (px)

Citation preview

Page 1: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

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

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

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

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

MotivationMotivation REST Web Service Description for Graph-Based Service Description

Page 6: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

MotivationMotivation REST Web Service Description for Graph-Based Service Description

Page 7: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

MotivationMotivation REST Web Service Description for Graph-Based Service Description

Page 8: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

MotivationMotivation REST Web Service Description for Graph-Based Service Description

Page 9: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

MotivationMotivation REST Web Service Description for Graph-Based Service Description

Page 10: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

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

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

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

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

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

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

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

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

RAD MetamodelRAD REST Web Service Description for Graph-Based Service Description

Page 19: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

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

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

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

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

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

RAD MetagraphRAD REST Web Service Description for Graph-Based Service Description

Page 25: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

RESULTS

Results REST Web Service Description for Graph-Based Service Description

Page 26: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

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

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

GraphResults REST Web Service Description for Graph-Based Service Description

Page 29: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

Results REST Web Service Description for Graph-Based Service Description

Page 30: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

Results REST Web Service Description for Graph-Based Service Description

Vocabulary

Page 31: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Extended OntologyResults REST Web Service Description for Graph-Based Service Description

Page 52: ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery

Template

• Blah

Template REST Web Service Description for Graph-Based Service Description