(Web Composition and Mashups track) "REST Web Service Description for Graph-Based Service Discovery" - Rosa Alarcon, Rodrigo Saffie, Nikolas Bravo, and Javiera Cabello
(Web User Interfaces track) "Getting the Query Right: User Interface Design o...icwe2015
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
Effective Semantic Web Service Composition Framework Based on QoSsethuraman R
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)
(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
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
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
19. RAD
Implementations
• RAD
can
be
implemented
in
multiple
formats
• We
used:
– Microdata
– JSON
RAD 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
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
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’
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