SlideShare a Scribd company logo
1 of 14
Download to read offline
Hydra: Hypermedia-
Driven Web APIs
MARIUS MÖSSMER
APRIL 30, 2014
Abstract
 Hydra
 is a lightweight vocabulary to create hypermedia-driven Web
APIs
 it enables the creation of generic API clients
 Authors
 Markus Lanthaler, Graz University of Technology
 Christian Gütl, Curtin University of Technology
Basic ideas of Hydra
 With Hydra, a server is able to publish all possible state transitions a client
can perform on the server
 Data is enriched with machine-readable semantics which enable
interaction
 Hydra APIs base upon
 REST architectural style
 HTTP
Building blocks of Hydra
 Hydra consists of two fundamental parts:
 JSON-LD
 It’s the serialization format used in the communication between the server and its
clients
 Hydra Core Vocabulary
 represents the shared vocabulary between server and client
JSON-LD
 http://www.w3.org/TR/json-ld/
 JSON-LD stands for Javascript Object Notation – Linked Data
 JSON-LD is an extension of JSON
 JSON-LD is a serialization-format
 Use-cases:
 Enables the expression of linked data
 Makes data self-descriptive
JSON-LD
Simple JSON-document that represents a user-entity:
JSON-LD
Extended JSON-LD-document that represents a user-entity with meaningful
semantics:
Hydra Core Vocabulary
 A small vocabulary extending RDF Schema ( http://www.w3.org/TR/rdf-
schema/ )
 Hydra Core Vocabulary is used to
 describe an application-domain with semantic aspects
 express the behaviour of the Web-API
Hydra Core Vocabulary
 Simple example: issue-tracking-system
 GET http://example.com/issues/123
What‘s the model of comments
or how to add comments ?
Hydra Core
Vocabulary
 GET http://example.com/api/vocab
Model of a comment-entity
Hydra Core
Vocabulary
 GET http://example.com/api/vocab
Supported Operations
Hydra Core
Vocabulary
Full Overview
Hydra Project
 Hydra W3C Community Group (http://www.w3.org/community/hydra/)
 Mailing List
 Wiki
 Chat
 Implementations
 HydraBundle: a bundle for Symfony2 to create Web APIs based on Hydra
 HydraConsole: a generic API console for Hydra-powered Web APIs
 HydraClient: a PHP client library to access Hydra-powered Web APIs
Sources
 http://www.hydra-cg.com/spec/latest/core/
 http://www.w3.org/TR/json-ld/
 http://www.w3.org/TR/rdf-schema/
 http://www.markus-lanthaler.com/hydra/
 M. Lanthaler and C. Gütl, “Hydra: A Vocabulary for Hypermedia-Driven
Web APIs”, 2013

More Related Content

What's hot (10)

Open Archives Initiatives For Metadata Harvesting
Open Archives Initiatives For Metadata   HarvestingOpen Archives Initiatives For Metadata   Harvesting
Open Archives Initiatives For Metadata Harvesting
 
OAI and OAI-PMH
OAI and OAI-PMHOAI and OAI-PMH
OAI and OAI-PMH
 
Rest based xml web services
Rest based xml web servicesRest based xml web services
Rest based xml web services
 
Ogsi protocol perspective
Ogsi protocol perspectiveOgsi protocol perspective
Ogsi protocol perspective
 
Chap 9 report (1st time upload/experiment)
Chap 9 report (1st time upload/experiment)Chap 9 report (1st time upload/experiment)
Chap 9 report (1st time upload/experiment)
 
Resource
Resource Resource
Resource
 
Library Web Services for Discovery and Delivery of Scientific Information
Library Web Services for Discovery and Delivery of Scientific InformationLibrary Web Services for Discovery and Delivery of Scientific Information
Library Web Services for Discovery and Delivery of Scientific Information
 
Swap Poster 2007 06 05
Swap Poster 2007 06 05Swap Poster 2007 06 05
Swap Poster 2007 06 05
 
Deploying RDF Linked Data via Virtuoso Universal Server
Deploying RDF Linked Data via Virtuoso Universal ServerDeploying RDF Linked Data via Virtuoso Universal Server
Deploying RDF Linked Data via Virtuoso Universal Server
 
Solving Real Problems Using Linked Data
Solving Real Problems Using Linked DataSolving Real Problems Using Linked Data
Solving Real Problems Using Linked Data
 

Similar to Hydra moessmer

Web2 0 Incredibles
Web2 0 IncrediblesWeb2 0 Incredibles
Web2 0 Incredibles
anjeshdubey
 
webservices overview
webservices overviewwebservices overview
webservices overview
elliando dias
 

Similar to Hydra moessmer (20)

Web2 0 Incredibles
Web2 0 IncrediblesWeb2 0 Incredibles
Web2 0 Incredibles
 
Introduction to Hydra
Introduction to HydraIntroduction to Hydra
Introduction to Hydra
 
Rest web service
Rest web serviceRest web service
Rest web service
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
 
Web services
Web services Web services
Web services
 
Best of Marketing
Best of MarketingBest of Marketing
Best of Marketing
 
RIA Data and Security, 2007
RIA Data and Security, 2007RIA Data and Security, 2007
RIA Data and Security, 2007
 
Web 2 0 Technologies
Web 2 0 TechnologiesWeb 2 0 Technologies
Web 2 0 Technologies
 
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
 
Unit 2
Unit 2Unit 2
Unit 2
 
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRISThe glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
ESM Service Layer Developer's Guide (ESM v6.9.1c)
ESM Service Layer Developer's Guide (ESM v6.9.1c)ESM Service Layer Developer's Guide (ESM v6.9.1c)
ESM Service Layer Developer's Guide (ESM v6.9.1c)
 
Webservices
WebservicesWebservices
Webservices
 
Building Restful Applications Using Php
Building Restful Applications Using PhpBuilding Restful Applications Using Php
Building Restful Applications Using Php
 
Rest assured
Rest assuredRest assured
Rest assured
 
Introduction to LDP in Apache Marmotta
Introduction to LDP in Apache MarmottaIntroduction to LDP in Apache Marmotta
Introduction to LDP in Apache Marmotta
 
Site Interoperability Projects at DERI Galway's SW Cluster
Site Interoperability Projects at DERI Galway's SW ClusterSite Interoperability Projects at DERI Galway's SW Cluster
Site Interoperability Projects at DERI Galway's SW Cluster
 
web technologies Unit 5
 web technologies Unit 5 web technologies Unit 5
web technologies Unit 5
 
webservices overview
webservices overviewwebservices overview
webservices overview
 

More from STIinnsbruck (20)

Unister
UnisterUnister
Unister
 
Twoo
TwooTwoo
Twoo
 
Twibes
TwibesTwibes
Twibes
 
Tweet deck 2012-01-02
Tweet deck 2012-01-02Tweet deck 2012-01-02
Tweet deck 2012-01-02
 
Tv handbook revised_100120141
Tv handbook revised_100120141Tv handbook revised_100120141
Tv handbook revised_100120141
 
Tv feratel 13032014
Tv feratel 13032014Tv feratel 13032014
Tv feratel 13032014
 
Tv evaluation 12032014
Tv evaluation 12032014Tv evaluation 12032014
Tv evaluation 12032014
 
T vb publication_rules_11032014
T vb publication_rules_11032014T vb publication_rules_11032014
T vb publication_rules_11032014
 
T vb mapping_implementation_25032014
T vb mapping_implementation_25032014T vb mapping_implementation_25032014
T vb mapping_implementation_25032014
 
T vb alignment_022814_0
T vb alignment_022814_0T vb alignment_022814_0
T vb alignment_022814_0
 
Ttr 20130701
Ttr 20130701Ttr 20130701
Ttr 20130701
 
Ttg mapping to_schema.org_
Ttg mapping to_schema.org_Ttg mapping to_schema.org_
Ttg mapping to_schema.org_
 
Ttb 08042014
Ttb 08042014Ttb 08042014
Ttb 08042014
 
Trust you
Trust youTrust you
Trust you
 
Tripwolf
TripwolfTripwolf
Tripwolf
 
Tripbirds
TripbirdsTripbirds
Tripbirds
 
Traveltainment
TraveltainmentTraveltainment
Traveltainment
 
Travelaudience
TravelaudienceTravelaudience
Travelaudience
 
Tourismuszukunft
TourismuszukunftTourismuszukunft
Tourismuszukunft
 
Tourismusverband innsbruck 24.09.2013
Tourismusverband innsbruck 24.09.2013Tourismusverband innsbruck 24.09.2013
Tourismusverband innsbruck 24.09.2013
 

Recently uploaded

Recently uploaded (14)

SaaStr Workshop Wednesday with CEO of Guru
SaaStr Workshop Wednesday with CEO of GuruSaaStr Workshop Wednesday with CEO of Guru
SaaStr Workshop Wednesday with CEO of Guru
 
Using AI to boost productivity for developers
Using AI to boost productivity for developersUsing AI to boost productivity for developers
Using AI to boost productivity for developers
 
TSM unit 5 Toxicokinetics seminar by Ansari Aashif Raza.pptx
TSM unit 5 Toxicokinetics seminar by  Ansari Aashif Raza.pptxTSM unit 5 Toxicokinetics seminar by  Ansari Aashif Raza.pptx
TSM unit 5 Toxicokinetics seminar by Ansari Aashif Raza.pptx
 
"I hear you": Moving beyond empathy in UXR
"I hear you": Moving beyond empathy in UXR"I hear you": Moving beyond empathy in UXR
"I hear you": Moving beyond empathy in UXR
 
Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...
Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...
Abortion Pills Fahaheel ௹+918133066128💬@ Safe and Effective Mifepristion and ...
 
2024 mega trends for the digital workplace - FINAL.pdf
2024 mega trends for the digital workplace - FINAL.pdf2024 mega trends for the digital workplace - FINAL.pdf
2024 mega trends for the digital workplace - FINAL.pdf
 
The Concession of Asaba International Airport: Balancing Politics and Policy ...
The Concession of Asaba International Airport: Balancing Politics and Policy ...The Concession of Asaba International Airport: Balancing Politics and Policy ...
The Concession of Asaba International Airport: Balancing Politics and Policy ...
 
2024-05-15-Surat Meetup-Hyperautomation.pptx
2024-05-15-Surat Meetup-Hyperautomation.pptx2024-05-15-Surat Meetup-Hyperautomation.pptx
2024-05-15-Surat Meetup-Hyperautomation.pptx
 
Modernizing The Transport System:Dhaka Metro Rail
Modernizing The Transport System:Dhaka Metro RailModernizing The Transport System:Dhaka Metro Rail
Modernizing The Transport System:Dhaka Metro Rail
 
Microsoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdf
Microsoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdfMicrosoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdf
Microsoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdf
 
STM valmiusseminaari 26-04-2024 PUUMALAINEN Ajankohtaista kansainvälisestä yh...
STM valmiusseminaari 26-04-2024 PUUMALAINEN Ajankohtaista kansainvälisestä yh...STM valmiusseminaari 26-04-2024 PUUMALAINEN Ajankohtaista kansainvälisestä yh...
STM valmiusseminaari 26-04-2024 PUUMALAINEN Ajankohtaista kansainvälisestä yh...
 
Databricks Machine Learning Associate Exam Dumps 2024.pdf
Databricks Machine Learning Associate Exam Dumps 2024.pdfDatabricks Machine Learning Associate Exam Dumps 2024.pdf
Databricks Machine Learning Associate Exam Dumps 2024.pdf
 
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINESBIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
 
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINESBIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
BIG DEVELOPMENTS IN LESOTHO(DAMS & MINES
 

Hydra moessmer

  • 1. Hydra: Hypermedia- Driven Web APIs MARIUS MÖSSMER APRIL 30, 2014
  • 2. Abstract  Hydra  is a lightweight vocabulary to create hypermedia-driven Web APIs  it enables the creation of generic API clients  Authors  Markus Lanthaler, Graz University of Technology  Christian Gütl, Curtin University of Technology
  • 3. Basic ideas of Hydra  With Hydra, a server is able to publish all possible state transitions a client can perform on the server  Data is enriched with machine-readable semantics which enable interaction  Hydra APIs base upon  REST architectural style  HTTP
  • 4. Building blocks of Hydra  Hydra consists of two fundamental parts:  JSON-LD  It’s the serialization format used in the communication between the server and its clients  Hydra Core Vocabulary  represents the shared vocabulary between server and client
  • 5. JSON-LD  http://www.w3.org/TR/json-ld/  JSON-LD stands for Javascript Object Notation – Linked Data  JSON-LD is an extension of JSON  JSON-LD is a serialization-format  Use-cases:  Enables the expression of linked data  Makes data self-descriptive
  • 6. JSON-LD Simple JSON-document that represents a user-entity:
  • 7. JSON-LD Extended JSON-LD-document that represents a user-entity with meaningful semantics:
  • 8. Hydra Core Vocabulary  A small vocabulary extending RDF Schema ( http://www.w3.org/TR/rdf- schema/ )  Hydra Core Vocabulary is used to  describe an application-domain with semantic aspects  express the behaviour of the Web-API
  • 9. Hydra Core Vocabulary  Simple example: issue-tracking-system  GET http://example.com/issues/123 What‘s the model of comments or how to add comments ?
  • 10. Hydra Core Vocabulary  GET http://example.com/api/vocab Model of a comment-entity
  • 11. Hydra Core Vocabulary  GET http://example.com/api/vocab Supported Operations
  • 13. Hydra Project  Hydra W3C Community Group (http://www.w3.org/community/hydra/)  Mailing List  Wiki  Chat  Implementations  HydraBundle: a bundle for Symfony2 to create Web APIs based on Hydra  HydraConsole: a generic API console for Hydra-powered Web APIs  HydraClient: a PHP client library to access Hydra-powered Web APIs
  • 14. Sources  http://www.hydra-cg.com/spec/latest/core/  http://www.w3.org/TR/json-ld/  http://www.w3.org/TR/rdf-schema/  http://www.markus-lanthaler.com/hydra/  M. Lanthaler and C. Gütl, “Hydra: A Vocabulary for Hypermedia-Driven Web APIs”, 2013