ELIS – Multimedia Lab
Functional Descriptions as the Bridge between Hypermedia APIs and the Semantic Web
Ruben Verborgh · Thomas Steiner · Davy Van Deursen Sam Coppens · Joaquim Gabarro · Rik Van de Walle
Functional Descriptions as the Bridge between Hypermedia APIs and - - PowerPoint PPT Presentation
ELIS Multimedia Lab Functional Descriptions as the Bridge between Hypermedia APIs and the Semantic Web Ruben Verborgh Thomas Steiner Davy Van Deursen Sam Coppens Joaquim Gabarro Rik Van de Walle Is following your nose
ELIS – Multimedia Lab
Functional Descriptions as the Bridge between Hypermedia APIs and the Semantic Web
Ruben Verborgh · Thomas Steiner · Davy Van Deursen Sam Coppens · Joaquim Gabarro · Rik Van de Walle
Is following your nose sufficient?
How I got to Lyon.
Lille REIMS Dijon Lyon
Did I really follow my nose?
What would have happened if I had actually followed my nose.
If I had followed my nose, it would have taken forever to find the sign that says
Signs everywhere, but which should my nose follow?
Brussels Eindhoven Vienna Munich
Following my nose was easy, because I knew what to look for.
Lille REIMS Dijon Lyon
As a human, you can follow your nose because you know how to. You always have some plan, and use your nose to find the next step.
RESTdesc tells machines how to follow their nose. It allows them to create a plan so they can find the next step.
ELIS – Multimedia Lab
RESTdesc describes the functionality of hypermedia APIs.
Why? – need and challenges What? – syntax and structure So what? – benefits and potential
ELIS – Multimedia Lab
This hypermedia API creates a thumbnail of a photograph.
Send a photo Send a photo, retrieve its thumbnail.
ELIS – Multimedia Lab
API description methods already exist.
There are 10+ ways to describe that the input is an image and the output is an image. This doesn’t tell machines what the API does.
ELIS – Multimedia Lab
API description methods already exist.
There are 10+ ways to describe that the input is a photo and the output is a thumbnail. This doesn’t tell machines what the API does.
ELIS – Multimedia Lab
The functional relationship is missing.
What thumbnail?
ELIS – Multimedia Lab
Only the functional relationship tells the full story.
Send a photo, retrieve its thumbnail. What thumbnail?
ELIS – Multimedia Lab
RESTdesc describes the functionality of hypermedia APIs.
Why? – need and challenges What? – syntax and structure So what? – benefits and potential
ELIS – Multimedia Lab
RESTdesc expresses functionality in a Semantic Web language.
HTTP
resources and hypermedia links
Notation3
small superset of RDF
Your own vocabulary
ELIS – Multimedia Lab
RESTdesc expresses functionality in a Semantic Web language.
HTTP
resources and hypermedia links
Notation3
small superset of RDF
Your own vocabulary
ELIS – Multimedia Lab
RDF expresses everything in three parts.
!
!"#$%&'&(!)*+,(!$%&'&-"" !!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!
verb subject
ELIS – Multimedia Lab
Namespaces create universal meaning.
#$%&'()!!!*+,,$-..&)/0$1&"2%3.$+2,2.4"! #$%&'()!./0!!*+,,$-..555"56"2%3.7888.9:.::;%<';=>?,/);?=@4" #$%&'()!/123/),!!*+,,$-..<A$&<(/"2%3.%&=2B%C&.4"
!!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!
namespaces
ELIS – Multimedia Lab
Notation3 variables allow generalized expressions.
#$%&'()!-!*+,,$-..&)/0$1&"2%3.$+2,2.4"! #$%&'()!%<'-!*+,,$-..555"56"2%3.7888.9:.::;%<';=>?,/);?=@4" #$%&'()!<A$&<(/-!*+,,$-..<A$&<(/"2%3.%&=2B%C&.4"
452%&'&!%<'-,>$&!<A$&<(/-E+2,2"6 !!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!
variables
ELIS – Multimedia Lab
Implications quantify and connect variables.
#$%&'()!-!*+,,$-..&)/0$1&"2%3.$+2,2.4"! #$%&'()!%<'-!*+,,$-..555"56"2%3.7888.9:.::;%<';=>?,/);?=@4" #$%&'()!<A$&<(/-!*+,,$-..<A$&<(/"2%3.%&=2B%C&.4"
FG$+2,2!%<'-,>$&!<A$&<(/-E+2,2"H 78!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!FG$+2,2!%<'-,>$&!<A$&<(/-I0/3&"H"
implications (if – then)
ELIS – Multimedia Lab
We want to explain the functionality
rel = "smallThumbnail"
ELIS – Multimedia Lab
RESTdesc tells the full story with the functional relationship.
#$%&'()!&)-!*+,,$-..&)/0$1&"2%3.(0/3&@4" #$%&'()!+,,$-!*+,,$-..555"56"2%3.:977.+,,$@4" #$%&'()!<A$&<(/-!*+,,$-..<A$&<(/"2%3.%&=2B%C&.4" #$%&'()!<A$&<(/;251-!*+,,$-..<A$&<(/"2%3.2?,2123>.4"
F !!G$+2,2!&)-=0/11J+B0A?/(1!G%&=2B%C&" H K4 F !!L-%&MB&=,!+,,$-0&,+2<N/0&!OPQJOR !!!!!!!!!!!!+,,$-%&MB&=,STI!G%&=2B%C&R !!!!!!!!!!!!+,,$-%&=$!U!+,,$-A2<>!G%&=2B%C&!V" !!G$+2,2!<A$&<(/;251-,+B0A?/(1!G%&=2B%C&" !!G%&=2B%C&!/!<A$&<(/-I0/3&R !!!!!!!!!!!!<A$&<(/;251-+&(3+,!W9"9" H"
ELIS – Multimedia Lab
RESTdesc tells the full story with the functional relationship.
F !!G$+2,2!39!*:,;;<%=:1>,);!G%&=2B%C&" H K4 F !!L-%&MB&=,!+,,$-0&,+2<N/0&!OPQJOR !!!!!!!!!!!!+,,$-%&MB&=,STI!G%&=2B%C&R !!!!!!!!!!!!+,,$-%&=$!U!+,,$-A2<>!G%&=2B%C&!V" !!G$+2,2!<A$&<(/;251-,+B0A?/(1!G%&=2B%C&" !!G%&=2B%C&!/!<A$&<(/-I0/3&R !!!!!!!!!!!!<A$&<(/;251-+&(3+,!W9"9" H" IF
rel = "smallThumbnail"ELIS – Multimedia Lab
RESTdesc tells the full story with the functional relationship.
F !!G$+2,2!&)-=0/11J+B0A?/(1!G%&=2B%C&" H 78 F !!L-%&MB&=,!+,,$-0&,+2<N/0&!OPQJOR !!!!!!!!!!!!+,,$-%&MB&=,STI!G%&=2B%C&R !!!!!!!!!!!!+,,$-%&=$!U!+,,$-A2<>!G%&=2B%C&!V" !!G$+2,2!<A$&<(/;251-,+B0A?/(1!G%&=2B%C&" !!G%&=2B%C&!/!<A$&<(/-I0/3&R !!!!!!!!!!!!<A$&<(/;251-+&(3+,!W9"9" H"
rel = "smallThumbnail"THEN
ELIS – Multimedia Lab
RESTdesc tells the full story with the functional relationship.
F !!G$+2,2!&)-=0/11J+B0A?/(1!G%&=2B%C&" H K4 F ((+!.3?=3*'(%''2!:3'%&/@,:3(ABC<AD ((((((((((((%''2!.3?=3*'EFG(5.3*&=.H3D ((((((((((((%''2!.3*2(I(%''2!1&/#(5.3*&=.H3(J- !!G$+2,2!<A$&<(/;251-,+B0A?/(1!G%&=2B%C&" !!G%&=2B%C&!/!<A$&<(/-I0/3&R !!!!!!!!!!!!<A$&<(/;251-+&(3+,!W9"9" H"
rel = "smallThumbnail"ELIS – Multimedia Lab
RESTdesc tells the full story with the functional relationship.
F !!52%&'&!&)-=0/11J+B0A?/(1!G%&=2B%C&" H K4 F !!L-%&MB&=,!+,,$-0&,+2<N/0&!OPQJOR !!!!!!!!!!!!+,,$-%&MB&=,STI!G%&=2B%C&R !!!!!!!!!!!!+,,$-%&=$!U!+,,$-A2<>!G%&=2B%C&!V" !!52%&'&!<A$&<(/;251-,+B0A?/(1!G%&=2B%C&" !!G%&=2B%C&!/!<A$&<(/-I0/3&R !!!!!!!!!!!!<A$&<(/;251-+&(3+,!W9"9" H"
rel = "smallThumbnail"Send a photo, retrieve its thumbnail.
ELIS – Multimedia Lab
RESTdesc tells the full story with the functional relationship.
F !!G$+2,2!&)-=0/11J+B0A?/(1!G%&=2B%C&" H K4 F !!L-%&MB&=,!+,,$-0&,+2<N/0&!OPQJOR !!!!!!!!!!!!+,,$-%&MB&=,STI!G%&=2B%C&R !!!!!!!!!!!!+,,$-%&=$!U!+,,$-A2<>!G%&=2B%C&!V" !!G$+2,2!<A$&<(/;251-,+B0A?/(1!G%&=2B%C&" ((5.3*&=.H3(,(/123/),!G:,K3D ((((((((((((/123/),L&M;!%3)K%'(NO-O- H"
rel = "smallThumbnail"ELIS – Multimedia Lab
RESTdesc tells the full story with the functional relationship.
#$%&'()!&)-!*+,,$-..&)/0$1&"2%3.(0/3&@4" #$%&'()!+,,$-!*+,,$-..555"56"2%3.:977.+,,$@4" #$%&'()!<A$&<(/-!*+,,$-..<A$&<(/"2%3.%&=2B%C&.4" #$%&'()!<A$&<(/;251-!*+,,$-..<A$&<(/"2%3.2?,2123>.4"
F !!G$+2,2!&)-=0/11J+B0A?/(1!G%&=2B%C&" H K4 F !!L-%&MB&=,!+,,$-0&,+2<N/0&!OPQJOR !!!!!!!!!!!!+,,$-%&MB&=,STI!G%&=2B%C&R !!!!!!!!!!!!+,,$-%&=$!U!+,,$-A2<>!G%&=2B%C&!V" !!G$+2,2!<A$&<(/;251-,+B0A?/(1!G%&=2B%C&" !!G%&=2B%C&!/!<A$&<(/-I0/3&R !!!!!!!!!!!!<A$&<(/;251-+&(3+,!W9"9" H"
ELIS – Multimedia Lab
State-changing operations are supported, too.
GET, HEAD
dereferencing
PUT, PATCH, DELETE
fully defined
POST
resource-specific state changes
ELIS – Multimedia Lab
Add a comment to this photograph.
#$%&'()!&)-!*+,,$-..&)/0$1&"2%3.(0/3&@4" #$%&'()!=(2C-!*+,,$-..%<'="2%3.=(2C.?=@4" #$%&'()!+,,$-!*+,,$-..555"56"2%3.:977.+,,$@4"
F !!52%&'&!&)-C200&?,=!GC200&?,=" !!GC200&?,!=(2C-C2?,&?,!GC200&?,J&)," H K4 F !!L-%&MB&=,!+,,$-0&,+2<N/0&!O$PQ<OR !!!!!!!!!!!!+,,$-%&MB&=,STI!GC200&?,=R !!!!!!!!!!!!+,,$-A2<>!GC200&?," !!52%&'&(*)&H!%,*+.32;#(5H&::3>'- !!GC200&?,=!&)-C2?,/(?=!GC200&?," H"
Add a comment to this photograph.
ELIS – Multimedia Lab
RESTdesc describes the functionality of hypermedia APIs.
Why? – need and challenges What? – syntax and structure So what? – benefits and potential
ELIS – Multimedia Lab
RESTdesc descriptions are generic.
#$%&'()!&)-!*+,,$-..&)/0$1&"2%3.(0/3&@4" #$%&'()!+,,$-!*+,,$-..555"56"2%3.:977.+,,$@4" #$%&'()!<A$&<(/-!*+,,$-..<A$&<(/"2%3.%&=2B%C&.4" #$%&'()!<A$&<(/;251-!*+,,$-..<A$&<(/"2%3.2?,2123>.4"
F !!G$+2,2!&)-=0/11J+B0A?/(1!G%&=2B%C&" H K4 F !!L-%&MB&=,!+,,$-0&,+2<N/0&!OPQJOR !!!!!!!!!!!!+,,$-%&MB&=,STI!G%&=2B%C&R !!!!!!!!!!!!+,,$-%&=$!U!+,,$-A2<>!G%&=2B%C&!V" !!G$+2,2!<A$&<(/;251-,+B0A?/(1!G%&=2B%C&" !!G%&=2B%C&!/!<A$&<(/-I0/3&R !!!!!!!!!!!!<A$&<(/;251-+&(3+,!W9"9" H"
ELIS – Multimedia Lab
Existing Semantic Web tools can instantiate RESTdesc descriptions.
!!L-%&MB&=,!+,,$-0&,+2<N/0&!OPQJOR !!!!!!!!!!!!+,,$-%&MB&=,STI!*.(03.6.,+B0A4R !!!!!!!!!!!!+,,$-%&=$!U!+,,$-A2<>!*.(03.6.,+B0A4!V" !!*.(03.64!<A$&<(/;251-,+B0A?/(1!*.(03.6.,+B0A4" !!*.(03.6.,+B0A4!/!<A$&<(/-I0/3&R !!!!!!!!!!!!!!!!<A$&<(/;251-+&(3+,!W9"9" rel = "smallThumbnail" R):KRS R):KRSR'%=:1
ELIS – Multimedia Lab
Existing Semantic Web tools can compose RESTdesc descriptions.
R):KRS local image R):KRSR'%=:1 R):KRSRH&::3>'*RT
Lorem ipsum dolor sit amet, consectetur adipiscingELIS – Multimedia Lab
Functional descriptions as the bridge between hypermedia and the Semantic Web.
Semantic Web hypermedia API subject verb
resource link resource description action functionality
Following your nose is easy if you know how to.
helps machines follow their nose. RESTdesc
ELIS – Multimedia Lab
RESTdesc semantically describes the functionality of hypermedia APIs.
Learn more at restdesc.org and discuss with @RubenVerborgh on Twitter.