Functional Descriptions as the Bridge between Hypermedia APIs and - - PowerPoint PPT Presentation

functional descriptions as the bridge between hypermedia
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Is following your nose sufficient?

slide-3
SLIDE 3

How I got to Lyon.

Lille REIMS Dijon Lyon

slide-4
SLIDE 4

Did I really follow my nose?

slide-5
SLIDE 5

What would have happened if I had actually followed my nose.

slide-6
SLIDE 6

If I had followed my nose, it would have taken forever to find the sign that says

Lyon

slide-7
SLIDE 7

Signs everywhere, but which should my nose follow?

Brussels Eindhoven Vienna Munich

slide-8
SLIDE 8

Following my nose was easy, because I knew what to look for.

Lille REIMS Dijon Lyon

slide-9
SLIDE 9

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.

slide-10
SLIDE 10

RESTdesc tells machines how to follow their nose. It allows them to create a plan so they can find the next step.

slide-11
SLIDE 11

ELIS – Multimedia Lab

RESTdesc describes the functionality of hypermedia APIs.

Why? – need and challenges What? – syntax and structure So what? – benefits and potential

slide-12
SLIDE 12

ELIS – Multimedia Lab

This hypermedia API creates a thumbnail of a photograph.

Send a photo Send a photo, retrieve its thumbnail.

slide-13
SLIDE 13

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.

slide-14
SLIDE 14

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.

slide-15
SLIDE 15

ELIS – Multimedia Lab

The functional relationship is missing.

What thumbnail?

slide-16
SLIDE 16

ELIS – Multimedia Lab

Only the functional relationship tells the full story.

Send a photo, retrieve its thumbnail. What thumbnail?

slide-17
SLIDE 17

ELIS – Multimedia Lab

RESTdesc describes the functionality of hypermedia APIs.

Why? – need and challenges What? – syntax and structure So what? – benefits and potential

slide-18
SLIDE 18

ELIS – Multimedia Lab

RESTdesc expresses functionality in a Semantic Web language.

HTTP

resources and hypermedia links

Notation3

small superset of RDF

Your own vocabulary

slide-19
SLIDE 19

ELIS – Multimedia Lab

RESTdesc expresses functionality in a Semantic Web language.

HTTP

resources and hypermedia links

Notation3

small superset of RDF

Your own vocabulary

slide-20
SLIDE 20

ELIS – Multimedia Lab

RDF expresses everything in three parts.

!

!"#$%&'&(!)*+,(!$%&'&-"" !!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!

verb subject

  • bject
slide-21
SLIDE 21

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"

  • D>E+2,2!./0!,>$&!/123/),!E+2,2"""

!!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!

namespaces

slide-22
SLIDE 22

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

slide-23
SLIDE 23

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)

slide-24
SLIDE 24

ELIS – Multimedia Lab

We want to explain the functionality

  • f the thumbnail API to machines.

rel = "smallThumbnail"

slide-25
SLIDE 25

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"

slide-26
SLIDE 26

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"
slide-27
SLIDE 27

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

slide-28
SLIDE 28

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"
slide-29
SLIDE 29

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.

slide-30
SLIDE 30

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"
slide-31
SLIDE 31

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"

slide-32
SLIDE 32

ELIS – Multimedia Lab

State-changing operations are supported, too.

GET, HEAD

dereferencing

PUT, PATCH, DELETE

fully defined

POST

resource-specific state changes

slide-33
SLIDE 33

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.

slide-34
SLIDE 34

ELIS – Multimedia Lab

RESTdesc describes the functionality of hypermedia APIs.

Why? – need and challenges What? – syntax and structure So what? – benefits and potential

slide-35
SLIDE 35

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"

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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 adipiscing
  • elit. Sed vel lectus quis purus lobortis auctor.
Donec vestibulum gravida eros quis gravida. Duis interdum posuere quam, sed rhoncus velit scelerisque in. Aenean vitae eros nec ipsum venenatis ullamcorper. Aliquam erat volutpat. In nisi justo, laoreet eget varius nec, iaculis et purus. Vivamus bibendum pretium adipiscing.
slide-38
SLIDE 38

ELIS – Multimedia Lab

Functional descriptions as the bridge between hypermedia and the Semantic Web.

Semantic Web hypermedia API subject verb

  • bject

resource link resource description action functionality

slide-39
SLIDE 39

Following your nose is easy if you know how to.

slide-40
SLIDE 40

helps machines follow their nose. RESTdesc

slide-41
SLIDE 41

ELIS – Multimedia Lab

RESTdesc semantically describes the functionality of hypermedia APIs.

Learn more at restdesc.org and discuss with @RubenVerborgh on Twitter.