SlideShare a Scribd company logo
APPROACHES TO MACHINE-
ACTIONABLE LINKS: A
HYPERMEDIA FORMAT FOR DATA
Breakout session
ESIP Summer Meeting, 2013-07-12
Chapel Hill, North Carolina
Stephen M Richard, organizer
Objectives
 Develop a content model for information
associated with links
 Enable hypermedia applications
 Focus on functionality related to data discovery,
evaluation, access, and processing
 Review usage of links in web architecture
 Look at example use scenarios
 Proposal for content
‘Traditional’ Web application
HTML is the hypermedia format
Application state is directed by a Human
<ul class="secondary">
<li><a href="http://www.nytimes.com/pages/automobiles/index.html">Autos</a></li>
<li><a href="http://www.nytimes.com/ref/topnews/blog-index.html">Blogs</a></li>
<li><a href="http://www.nytimes.com/pages/books/index.html">Books</a></li>
<li><a href="http://wordplay.blogs.nytimes.com/cartoons/">Cartoons</a></li>
<li><a
href="http://www.nytimes.com/ref/classifieds/?incamp=hpclassifiedsnav">Classifieds</a></li>
<li><a href="http://www.nytimes.com/crosswords/index.html">Crosswords</a></li><li
id="navWorld"><a href="http://www.nytimes.com/pages/world/index.html">World</a></li>
<li id="navUS"><a href="http://www.nytimes.com/pages/national/index.html">U.S.</a></li>
<li id="navPolitics"><a href="http://www.nytimes.com/pages/politics/index.html">Politics</a></li>
<li id="navNYRegion"><a href="http://www.nytimes.com/pages/nyregion/index.html">New
York</a></li>
<li id="navBusiness"><a
href="http://www.nytimes.com/pages/business/index.html">Business</a></li>
<li id="navDealbook"><a href="http://dealbook.nytimes.com">Dealbook</a></li>
<li id="navTechnology"><a
href="http://www.nytimes.com/pages/technology/index.html">Technology</a></li>
<li id="navSports"><a href="http://www.nytimes.com/pages/sports/index.html">Sports</a></li>
<a href="http://www.nytimes.com/ref/
topnews/blog-index.html">Blogs</a>
Hypermedia driven
Add data to Map Application
Distributed applications on
the Web
 HTTP as the transport for application
messaging
 Operations: GET, PUT, POST, DELETE
 Agnostic about message format and content
 Headers provide metadata for messages
 Language, MIME type
Richardson Maturity Model
http://martinfowler.com/articles/richardsonMaturityModel.html
Tunneling, RPC
(Plain Old XML)
Operate on
domain objects
Use HTTP operations
as intended
HATEOAS (Hypertext As
The EngineOf Application
State)
NOTE: Roy Fielding has made is clear that level 3 RMM is a pre-condition of REST.
Useful comparison table: http://nordsc.com/ext/classification_of_http_based_apis.html
Approaches to application messaging
 Tunneling
 HTTP GET or POST
 URL or message content contains method request
 SOAP, ‘remote procedure call’
 encode methods and parameters in URLS
 HTTP messages always directed to a single web
location
Tunneling RPC call
 http://api.flickr.com/services/rest/?
method=flickr.test.echo&name=value
 http method is GET
 https://sdb.amazonaws.com/?
Action=PutAttributes&other parameters…
 http method is POST
 URI contains action
 Message semantics depend on action .
Approaches to application messaging
 Object based
 Define resource scheme for application objects
 Use HTTP request to create, read, update, delete
 Various representations may be available for the
objects
Resource object-based
 https://api.twitter.com/1.1/
statuses/mentions_timeline.json
 http://resources.usgin.org/uri-gin/
nmbgmr/bhintercept/API:30-035-2024
 specific schema used is only known to
client and server
URI template
 A sequence of characters for describing a
range of URIs through variable expansion
(IETF RFC-6570)
 Example: Get scientific metadata for a
dataOne data package
 https://datadryad.org/mn/object/{identifier}
 identifier:= "http://dx.doi.org/10.5061/dryad.8790"
 https://datadryad.org/mn/object/http://dx.doi
.org/10.5061/dryad.8790
Approaches to application messaging
 Hypermedia
 messages specify resources and possible actions
(read, write, create, delete, filter, report, etc.)
 controls provided to invoke next action
 media format must be understood a priori by
client applications
 server can change any URI except the initial entry
point
Machine Actionable Links
 Essential to hypermedia applications
 HTML
 <a> anchor element for HTTP GET
 <form> form element for HTTP POST
 <img>
Can we produce a content
model for hypermedia
controls for data
applications?
Scenarios
 Examine several scenarios commonly
encounter with data access and processing
 Search and data access
 Linked data
 Web processing services
 Vocabulary usage in content
Hypermedia search
 Search catalog
 Get list of distributions
 SelectWMS distribution
 Add to arc map project
CI_OnlineResource affordance
Distribution options offered by an ISO19139 XML metadata response
<URL> http://services.kgs...service=WMS
<protocol> OGC:WMS
<name> Service Description
<description>WMS Capabilities
<function> webService
<URL> http://services.kgs.ku.....;service=WFS</URL>
<protocol> OGC:WFS
<name> Service Description
<description>WFSCapabilities
<function> webService
<URL> http://services.kgs.ku..../MapServer
<protocol> ESRI
<name> Service Description
<description> ESRI Service End Point
<function> webService
<URL> http://repository.stategeothermaldata.org/..._20121212.zip
<name> Zipped 2007 Excel file containing BoreholeTemperature data for the State of Kansas
<function> download
Hypermedia and linked data
 Offer an ‘affordances’ representation for any
URI
 Dereference URI to see list of things can do
with it
 Picture, text explanation, searches,
discussion, usage, plot, publications, people,
brokers…
 Over to Doug…
Web processing service
1. Landing page: start process
1. Select existing and execute
2. Start new—identify inputs and parameters and
execute
2. Successful completion
1. Modify parameter and rerun
2. Save results
3. Visualize result
 If process is largely user driven, HTML forms
provide necessary hypermedia
Semantics: Vocabulary
 URI identifies a concept
 Hypermedia helps user understand concept
 Hypermedia to help machine agent navigate
semantic web
 Related, broader, narrower
 RDF graph, SPARQL endpoints
 ISO codelists, GML codeType
Vocabulary examples
 <gsmlem:lithology
 xlink:href="http://resource.geosciml.org/classifier/
cgi/lithology/wacke"
 xlink:title="Wacke" />
 gmd:CI_RoleCode
 codeList="http://www.isotc211.org/2005/resources/
Codelist/gmxCodelists.xml#CI_RoleCode"
 codeListValue="pointOfContact">
 pointOfContact</gmd:CI_RoleCode>
Survey
Specification Link
ATOM http://tools.ietf.org/html/rfc4287
CoRE http://tools.ietf.org/html/rfc6690
ESIP discovery http://wiki.esipfed.org/index.php/Discovery_Change_Proposal-8
GML codeType
HAL http://tools.ietf.org/html/draft-kelly-json-hal
Home document http://tools.ietf.org/html/draft-nottingham-json-home
Hydra http://www.markus-lanthaler.com/hydra/spec/latest/core/
IANA link type registry
IETF Web Linking http://tools.ietf.org/html/rfc5988
ISO19115/19139 see USGIN profile document
RDFa http://rdfa.info/about/
xlink http://www.w3.org/TR/xlink11/
OWC offering OCG 12-080 Table 3
Content model for link
 link (syn: href, targetURI)
 title
 type
 rel
 overlayAPI
 template
 profile
Link property
 Essential– must be a URI that will dereference
using web architecture (DNS,TCP/IP), with
result according to other link properties
 Typically using http
 URI syntax (IETF RFC-3986) specifies that
"each URI begins with a scheme name"
[RFC3986, section 1.1.1]
Title
 Text string that identifies the link function for
a human user.
 Only necessary if link is being used for human
user interaction
type
 Registered string that identifies the media
type
 MIME type (http://www.iana.org/assignments/media-types).
 Allow comma-delimited list
 Intention is that if a type is listed here, it is
known to be available from the host
rel property
 Semantics of link
 Attribute value is list;
 Use global vocabulary for interoperability
(IETF RFC-5988)
 include one of the 5 original Atom link@rel
values
 Domain specific rel values should be URI that
will dereference as a vocabulary term
overlayAPI: Legacy approaches
 identifies the API for messages tunneled to a
component on the target server
 should be defined by the service specification
for the protocol or service type
 Include version information if applicable
template: guidance for URI
patterns
 identifies template scheme
 if a value is provided for this attribute, the
targetURI MUST be interpreted as a template
 service specification should define the URI
that identifies the scheme and version.
profile property
 application specific conventions
 Specific vocabularies for message content
 Restrictions on alternate usages of interchange
format schema
 May apply to template scheme or overlayAPI
parameters
 Additional parameters encoded as key-value
pairs
 Account for information like layer name in
WMS, feature Name inWFS or ESRI service,
coverage name inWCS
 Can this be done more simply?
Other possible properties
Property Scope
altTitle Title value in a different character set, or
language
behavior list of properties specifying behavior expected in
client when link is actuated
descriptionURL URL that locates a detailed text description of
what the online resource is/does
hints profile-specific information about link operation;
granular to protocol or overlayAPI method level
hreflang language of resource content; multiple
"hreflang" parameters indicate options
length advisory size linked content in octets
Where to from here
 Collect examples of example links intended
for machine to machine operation
 (examples from white paper)
 What vocabularies are necessary?
https://github.com/usgin/usginspecs/blob/master/
MetadataAsHypermediaApp.docx
ESIP Google Doc or Discovery Cluster
Presentation to ESIP Semantic Cluster

More Related Content

What's hot

Building Self Documenting HTTP APIs with CQRS
Building Self Documenting HTTP APIs with CQRSBuilding Self Documenting HTTP APIs with CQRS
Building Self Documenting HTTP APIs with CQRS
Derek Comartin
 
Restful Fundamentals
Restful FundamentalsRestful Fundamentals
Restful Fundamentals
Suresh Madhra
 
Railsplitter: Simplify Your CRUD
Railsplitter: Simplify Your CRUDRailsplitter: Simplify Your CRUD
Railsplitter: Simplify Your CRUD
Flurry, Inc.
 
RESTful services
RESTful servicesRESTful services
RESTful services
Pedram Bashiri
 
Adopting the DSM paradigm: defining federation scenarios through resource br...
Adopting the DSM paradigm: defining federation scenarios through resource br...Adopting the DSM paradigm: defining federation scenarios through resource br...
Adopting the DSM paradigm: defining federation scenarios through resource br...
Christos Tranoris
 
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rodrigo Senra
 
Representational state transfer (rest) architectural style1.1
Representational state transfer (rest) architectural style1.1Representational state transfer (rest) architectural style1.1
Representational state transfer (rest) architectural style1.1
Vinod Wilson
 

What's hot (7)

Building Self Documenting HTTP APIs with CQRS
Building Self Documenting HTTP APIs with CQRSBuilding Self Documenting HTTP APIs with CQRS
Building Self Documenting HTTP APIs with CQRS
 
Restful Fundamentals
Restful FundamentalsRestful Fundamentals
Restful Fundamentals
 
Railsplitter: Simplify Your CRUD
Railsplitter: Simplify Your CRUDRailsplitter: Simplify Your CRUD
Railsplitter: Simplify Your CRUD
 
RESTful services
RESTful servicesRESTful services
RESTful services
 
Adopting the DSM paradigm: defining federation scenarios through resource br...
Adopting the DSM paradigm: defining federation scenarios through resource br...Adopting the DSM paradigm: defining federation scenarios through resource br...
Adopting the DSM paradigm: defining federation scenarios through resource br...
 
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
 
Representational state transfer (rest) architectural style1.1
Representational state transfer (rest) architectural style1.1Representational state transfer (rest) architectural style1.1
Representational state transfer (rest) architectural style1.1
 

Viewers also liked

End-to-End Service Quality Management for Mobile Broadband
End-to-End Service Quality Management for Mobile BroadbandEnd-to-End Service Quality Management for Mobile Broadband
End-to-End Service Quality Management for Mobile BroadbandMuhammad Imran Awan
 
Peeki
PeekiPeeki
10 Slides
10 Slides10 Slides
10 Slides
aieshabead
 
Dollars and Danger
Dollars and DangerDollars and Danger
Dollars and Danger
mls123
 
Cadvisual Presentation | International
Cadvisual Presentation | InternationalCadvisual Presentation | International
Cadvisual Presentation | International
gertjan_laurenssen
 
Happy Father's Day Romeo!
Happy Father's Day Romeo!Happy Father's Day Romeo!
Happy Father's Day Romeo!
mitzi_graceusa
 
ISN Student Reflection Assignments From Roland At Striving Readers
ISN Student Reflection Assignments From Roland At Striving ReadersISN Student Reflection Assignments From Roland At Striving Readers
ISN Student Reflection Assignments From Roland At Striving Readers
mesmith1
 

Viewers also liked (8)

End-to-End Service Quality Management for Mobile Broadband
End-to-End Service Quality Management for Mobile BroadbandEnd-to-End Service Quality Management for Mobile Broadband
End-to-End Service Quality Management for Mobile Broadband
 
Presentazione test
Presentazione testPresentazione test
Presentazione test
 
Peeki
PeekiPeeki
Peeki
 
10 Slides
10 Slides10 Slides
10 Slides
 
Dollars and Danger
Dollars and DangerDollars and Danger
Dollars and Danger
 
Cadvisual Presentation | International
Cadvisual Presentation | InternationalCadvisual Presentation | International
Cadvisual Presentation | International
 
Happy Father's Day Romeo!
Happy Father's Day Romeo!Happy Father's Day Romeo!
Happy Father's Day Romeo!
 
ISN Student Reflection Assignments From Roland At Striving Readers
ISN Student Reflection Assignments From Roland At Striving ReadersISN Student Reflection Assignments From Roland At Striving Readers
ISN Student Reflection Assignments From Roland At Striving Readers
 

Similar to Approaches to machine actionable links

6 10-presentation
6 10-presentation6 10-presentation
6 10-presentation
Remi Arnaud
 
One Web (API?) – Alexandre Bertails - Ippevent 10 juin 2014
One Web (API?) – Alexandre Bertails - Ippevent 10 juin 2014One Web (API?) – Alexandre Bertails - Ippevent 10 juin 2014
One Web (API?) – Alexandre Bertails - Ippevent 10 juin 2014
Ippon
 
Hypermedia for Machine APIs
Hypermedia for Machine APIsHypermedia for Machine APIs
Hypermedia for Machine APIs
Michael Koster
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworksbrendonschwartz
 
Web2 0 Incredibles
Web2 0 IncrediblesWeb2 0 Incredibles
Web2 0 Incrediblesanjeshdubey
 
Semantic web technologies applied to bioinformatics and laboratory data manag...
Semantic web technologies applied to bioinformatics and laboratory data manag...Semantic web technologies applied to bioinformatics and laboratory data manag...
Semantic web technologies applied to bioinformatics and laboratory data manag...
Toni Hermoso Pulido
 
Building Restful Applications Using Php
Building Restful Applications Using PhpBuilding Restful Applications Using Php
Building Restful Applications Using Php
Sudheer Satyanarayana
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC Integrations
Steve Speicher
 
A Framework for Self-descriptive RESTful Services
A Framework for Self-descriptive RESTful ServicesA Framework for Self-descriptive RESTful Services
A Framework for Self-descriptive RESTful Services
ruyalarcon
 
Enterprise REST
Enterprise RESTEnterprise REST
Enterprise REST
Ganesh Prasad
 
Hypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of ThingsHypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of Things
Michael Koster
 
Enterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshEnterprise guide to building a Data Mesh
Enterprise guide to building a Data Mesh
Sion Smith
 
The Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
The Enterprise Guide to Building a Data Mesh - Introducing SpecMeshThe Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
The Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
IanFurlong4
 
Introduction to Hydra
Introduction to HydraIntroduction to Hydra
Introduction to Hydra
Alejandro Inestal
 
Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen, Pri...
Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen, Pri...Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen, Pri...
Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen, Pri...
CA API Management
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
Robert J. Stein
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
MakoLab SA
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org
sopekmir
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesSteve Speicher
 
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHP
IRJET Journal
 

Similar to Approaches to machine actionable links (20)

6 10-presentation
6 10-presentation6 10-presentation
6 10-presentation
 
One Web (API?) – Alexandre Bertails - Ippevent 10 juin 2014
One Web (API?) – Alexandre Bertails - Ippevent 10 juin 2014One Web (API?) – Alexandre Bertails - Ippevent 10 juin 2014
One Web (API?) – Alexandre Bertails - Ippevent 10 juin 2014
 
Hypermedia for Machine APIs
Hypermedia for Machine APIsHypermedia for Machine APIs
Hypermedia for Machine APIs
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
 
Web2 0 Incredibles
Web2 0 IncrediblesWeb2 0 Incredibles
Web2 0 Incredibles
 
Semantic web technologies applied to bioinformatics and laboratory data manag...
Semantic web technologies applied to bioinformatics and laboratory data manag...Semantic web technologies applied to bioinformatics and laboratory data manag...
Semantic web technologies applied to bioinformatics and laboratory data manag...
 
Building Restful Applications Using Php
Building Restful Applications Using PhpBuilding Restful Applications Using Php
Building Restful Applications Using Php
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC Integrations
 
A Framework for Self-descriptive RESTful Services
A Framework for Self-descriptive RESTful ServicesA Framework for Self-descriptive RESTful Services
A Framework for Self-descriptive RESTful Services
 
Enterprise REST
Enterprise RESTEnterprise REST
Enterprise REST
 
Hypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of ThingsHypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of Things
 
Enterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshEnterprise guide to building a Data Mesh
Enterprise guide to building a Data Mesh
 
The Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
The Enterprise Guide to Building a Data Mesh - Introducing SpecMeshThe Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
The Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
 
Introduction to Hydra
Introduction to HydraIntroduction to Hydra
Introduction to Hydra
 
Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen, Pri...
Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen, Pri...Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen, Pri...
Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen, Pri...
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
Industry Ontologies: Case Studies in Creating and Extending Schema.org for In...
 
Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org Industry Ontologies: Case Studies in Creating and Extending Schema.org
Industry Ontologies: Case Studies in Creating and Extending Schema.org
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open Interfaces
 
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHP
 

Recently uploaded

How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
Himani415946
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
TristanJasperRamos
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
ShahulHameed54211
 

Recently uploaded (16)

How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
 

Approaches to machine actionable links

  • 1. APPROACHES TO MACHINE- ACTIONABLE LINKS: A HYPERMEDIA FORMAT FOR DATA Breakout session ESIP Summer Meeting, 2013-07-12 Chapel Hill, North Carolina Stephen M Richard, organizer
  • 2. Objectives  Develop a content model for information associated with links  Enable hypermedia applications  Focus on functionality related to data discovery, evaluation, access, and processing  Review usage of links in web architecture  Look at example use scenarios  Proposal for content
  • 3. ‘Traditional’ Web application HTML is the hypermedia format Application state is directed by a Human <ul class="secondary"> <li><a href="http://www.nytimes.com/pages/automobiles/index.html">Autos</a></li> <li><a href="http://www.nytimes.com/ref/topnews/blog-index.html">Blogs</a></li> <li><a href="http://www.nytimes.com/pages/books/index.html">Books</a></li> <li><a href="http://wordplay.blogs.nytimes.com/cartoons/">Cartoons</a></li> <li><a href="http://www.nytimes.com/ref/classifieds/?incamp=hpclassifiedsnav">Classifieds</a></li> <li><a href="http://www.nytimes.com/crosswords/index.html">Crosswords</a></li><li id="navWorld"><a href="http://www.nytimes.com/pages/world/index.html">World</a></li> <li id="navUS"><a href="http://www.nytimes.com/pages/national/index.html">U.S.</a></li> <li id="navPolitics"><a href="http://www.nytimes.com/pages/politics/index.html">Politics</a></li> <li id="navNYRegion"><a href="http://www.nytimes.com/pages/nyregion/index.html">New York</a></li> <li id="navBusiness"><a href="http://www.nytimes.com/pages/business/index.html">Business</a></li> <li id="navDealbook"><a href="http://dealbook.nytimes.com">Dealbook</a></li> <li id="navTechnology"><a href="http://www.nytimes.com/pages/technology/index.html">Technology</a></li> <li id="navSports"><a href="http://www.nytimes.com/pages/sports/index.html">Sports</a></li> <a href="http://www.nytimes.com/ref/ topnews/blog-index.html">Blogs</a>
  • 5. Add data to Map Application
  • 6. Distributed applications on the Web  HTTP as the transport for application messaging  Operations: GET, PUT, POST, DELETE  Agnostic about message format and content  Headers provide metadata for messages  Language, MIME type
  • 7. Richardson Maturity Model http://martinfowler.com/articles/richardsonMaturityModel.html Tunneling, RPC (Plain Old XML) Operate on domain objects Use HTTP operations as intended HATEOAS (Hypertext As The EngineOf Application State) NOTE: Roy Fielding has made is clear that level 3 RMM is a pre-condition of REST. Useful comparison table: http://nordsc.com/ext/classification_of_http_based_apis.html
  • 8. Approaches to application messaging  Tunneling  HTTP GET or POST  URL or message content contains method request  SOAP, ‘remote procedure call’  encode methods and parameters in URLS  HTTP messages always directed to a single web location
  • 9. Tunneling RPC call  http://api.flickr.com/services/rest/? method=flickr.test.echo&name=value  http method is GET  https://sdb.amazonaws.com/? Action=PutAttributes&other parameters…  http method is POST  URI contains action  Message semantics depend on action .
  • 10. Approaches to application messaging  Object based  Define resource scheme for application objects  Use HTTP request to create, read, update, delete  Various representations may be available for the objects
  • 11. Resource object-based  https://api.twitter.com/1.1/ statuses/mentions_timeline.json  http://resources.usgin.org/uri-gin/ nmbgmr/bhintercept/API:30-035-2024  specific schema used is only known to client and server
  • 12. URI template  A sequence of characters for describing a range of URIs through variable expansion (IETF RFC-6570)  Example: Get scientific metadata for a dataOne data package  https://datadryad.org/mn/object/{identifier}  identifier:= "http://dx.doi.org/10.5061/dryad.8790"  https://datadryad.org/mn/object/http://dx.doi .org/10.5061/dryad.8790
  • 13. Approaches to application messaging  Hypermedia  messages specify resources and possible actions (read, write, create, delete, filter, report, etc.)  controls provided to invoke next action  media format must be understood a priori by client applications  server can change any URI except the initial entry point
  • 14. Machine Actionable Links  Essential to hypermedia applications  HTML  <a> anchor element for HTTP GET  <form> form element for HTTP POST  <img>
  • 15. Can we produce a content model for hypermedia controls for data applications?
  • 16. Scenarios  Examine several scenarios commonly encounter with data access and processing  Search and data access  Linked data  Web processing services  Vocabulary usage in content
  • 17. Hypermedia search  Search catalog  Get list of distributions  SelectWMS distribution  Add to arc map project
  • 18. CI_OnlineResource affordance Distribution options offered by an ISO19139 XML metadata response <URL> http://services.kgs...service=WMS <protocol> OGC:WMS <name> Service Description <description>WMS Capabilities <function> webService <URL> http://services.kgs.ku.....;service=WFS</URL> <protocol> OGC:WFS <name> Service Description <description>WFSCapabilities <function> webService <URL> http://services.kgs.ku..../MapServer <protocol> ESRI <name> Service Description <description> ESRI Service End Point <function> webService <URL> http://repository.stategeothermaldata.org/..._20121212.zip <name> Zipped 2007 Excel file containing BoreholeTemperature data for the State of Kansas <function> download
  • 19. Hypermedia and linked data  Offer an ‘affordances’ representation for any URI  Dereference URI to see list of things can do with it  Picture, text explanation, searches, discussion, usage, plot, publications, people, brokers…  Over to Doug…
  • 20. Web processing service 1. Landing page: start process 1. Select existing and execute 2. Start new—identify inputs and parameters and execute 2. Successful completion 1. Modify parameter and rerun 2. Save results 3. Visualize result  If process is largely user driven, HTML forms provide necessary hypermedia
  • 21. Semantics: Vocabulary  URI identifies a concept  Hypermedia helps user understand concept  Hypermedia to help machine agent navigate semantic web  Related, broader, narrower  RDF graph, SPARQL endpoints  ISO codelists, GML codeType
  • 22. Vocabulary examples  <gsmlem:lithology  xlink:href="http://resource.geosciml.org/classifier/ cgi/lithology/wacke"  xlink:title="Wacke" />  gmd:CI_RoleCode  codeList="http://www.isotc211.org/2005/resources/ Codelist/gmxCodelists.xml#CI_RoleCode"  codeListValue="pointOfContact">  pointOfContact</gmd:CI_RoleCode>
  • 23. Survey Specification Link ATOM http://tools.ietf.org/html/rfc4287 CoRE http://tools.ietf.org/html/rfc6690 ESIP discovery http://wiki.esipfed.org/index.php/Discovery_Change_Proposal-8 GML codeType HAL http://tools.ietf.org/html/draft-kelly-json-hal Home document http://tools.ietf.org/html/draft-nottingham-json-home Hydra http://www.markus-lanthaler.com/hydra/spec/latest/core/ IANA link type registry IETF Web Linking http://tools.ietf.org/html/rfc5988 ISO19115/19139 see USGIN profile document RDFa http://rdfa.info/about/ xlink http://www.w3.org/TR/xlink11/ OWC offering OCG 12-080 Table 3
  • 24. Content model for link  link (syn: href, targetURI)  title  type  rel  overlayAPI  template  profile
  • 25. Link property  Essential– must be a URI that will dereference using web architecture (DNS,TCP/IP), with result according to other link properties  Typically using http  URI syntax (IETF RFC-3986) specifies that "each URI begins with a scheme name" [RFC3986, section 1.1.1]
  • 26. Title  Text string that identifies the link function for a human user.  Only necessary if link is being used for human user interaction
  • 27. type  Registered string that identifies the media type  MIME type (http://www.iana.org/assignments/media-types).  Allow comma-delimited list  Intention is that if a type is listed here, it is known to be available from the host
  • 28. rel property  Semantics of link  Attribute value is list;  Use global vocabulary for interoperability (IETF RFC-5988)  include one of the 5 original Atom link@rel values  Domain specific rel values should be URI that will dereference as a vocabulary term
  • 29. overlayAPI: Legacy approaches  identifies the API for messages tunneled to a component on the target server  should be defined by the service specification for the protocol or service type  Include version information if applicable
  • 30. template: guidance for URI patterns  identifies template scheme  if a value is provided for this attribute, the targetURI MUST be interpreted as a template  service specification should define the URI that identifies the scheme and version.
  • 31. profile property  application specific conventions  Specific vocabularies for message content  Restrictions on alternate usages of interchange format schema  May apply to template scheme or overlayAPI
  • 32. parameters  Additional parameters encoded as key-value pairs  Account for information like layer name in WMS, feature Name inWFS or ESRI service, coverage name inWCS  Can this be done more simply?
  • 33. Other possible properties Property Scope altTitle Title value in a different character set, or language behavior list of properties specifying behavior expected in client when link is actuated descriptionURL URL that locates a detailed text description of what the online resource is/does hints profile-specific information about link operation; granular to protocol or overlayAPI method level hreflang language of resource content; multiple "hreflang" parameters indicate options length advisory size linked content in octets
  • 34. Where to from here  Collect examples of example links intended for machine to machine operation  (examples from white paper)  What vocabularies are necessary? https://github.com/usgin/usginspecs/blob/master/ MetadataAsHypermediaApp.docx ESIP Google Doc or Discovery Cluster Presentation to ESIP Semantic Cluster