SlideShare uma empresa Scribd logo
1 de 29
APIS AND LINKED
DATA
A M AT C H M A D E I N H E A V E N
M I C H A E L P E T Y C H A K I S
N A T I O N A L T E C H N I C A L U N I V E R S I T Y O F A T H E N S
A T H E N S , G R E E C E , 7 T H N O V E M B E R 2 0 1 5
AGENDA
• Linked Data Overview
• Business Models on Linked Data
• What is an API?
• Business Importance Around APIs
• APIs and Linked Data
• JSON-LD
• Hydra
• DeepGraphs
• Linda
@mpetyx
LINKED DATA
“The term Linked Data refers to a set of best practices for publishing and connecting
structured data on the Web.”
“the Semantic Web is the goal or end result… Linked Data provides the means to reach
that goal”
From ‘Linked Data: The Story So Far’ - Heath, Bizer and Berners-Lee 2009
“The goal of Linked Data is to enable people to share structured data on the Web as easily as they can share
documents today.”
• Bizer/Cyganiak/Heath Linked Data Tutorial, linkeddata.org
@mpetyx
LINKED DATA DESIGN ISSUES
@mpetyx
URIS AND HTTP
• “A Uniform Resource Identifier’ (URI) provides a simple and extensible means for
identifying a resource” – W3C RFC 3986
• HTTP URIs may be ‘de-referenced’on the Web
• HTTP URIs are used for “real world” things
• http://adrianstevenson.com/id/me
• http://dbpedia.org/resource/Love
@mpetyx
LINKED DATA BUSINESS MODELS
Subscription
Sell access to data
feeds
Sell access to data
driven applications
Advertising
Sell paid
placement inside
data feeds
Sell advertising
around data-
driven applications
Authoring
Charge for official
reviews and
certifications
Charge for data
verifications and
compliance
services
Affiliate Links
E-commerce
affiliate links
embedded in data
feeds
E-commerce
affiliate links in
data-driven
applications
Value-Add
Data enhances
paid application or
service
Data provided as a
customer or lead
incentive
Traffic
Search engine
optimisation
Traffic generation
via linked open
data networks
Branding
Data sets,
structures and
ontologies to
shape market
Data-driven
applications for
brand positioning
Direct
Indirect
@mpetyx
WHAT IS AN API?
• ‘Application Programming Interface’
– “API is an online interface that allows distributed systems to communicate with one another
and exchange information”
– “APIs are carefully thought out pieces of code created by programmers .. that allow other
applications to interact with their application”
@mpetyx
APIS
• Allow machine readability of data
– Typically over the Web
• Provide other systems with access to content or functions
• Many types – e.g.
– Google, Facebook, Flickr, twitter APIs ….
– OAI-PMH
– Linked Data API, SPARQL
– Others include SOLR, SRU, Z39.50, SOAP, ….
@mpetyx
APIS ARE MACHINE TO MACHINE
• API is software-to-software interface, not a user interface
• E.g. Cinema ticket websites use API:
– Sends credit card info to remote application
– Remote application sends response back to ticket website saying OK
to issue the tickets
• User see one interface
@mpetyx
@mpetyx
958 million websites
60 trillion
web pages
@mpetyx
WHY NEED AN API AT ALL?
A small
team/Company
Shipping is
Priority
API Saves
Money
Someone else is
doing it better
No Time
@mpetyx
IMPORTANT OF API STABILITY IN
SMES
Markeplaces,
Hubs,
Directories,
Search
Sandboxing
environments
Ad-hoc
requests
Testing
@mpetyx
EACH API IS UNIQUE
@mpetyx
OPEN APIS
AUTOMATED API PROVISIONING
• Problem: How do I use an API without specifically coding for
it?
• Answer: Use vocabulary to define operations on classes and
properties
• Proposition: Annotations are the result of operations on
entities or the relationships between entities.
– Those results are also entities, which may be operated upon.
@mpetyx
LINKS AND OPERATIONS
• Define operations on entities, types of entities, or their properties.
• When does a property link to an entity?
• How do you use pagination to reference and collect linked entities?
• What operations can I perform on an entity, or property of that entity?
• Where does authentication/authorization intersect with generic API
interactions?
@mpetyx
INTRODUCING JSON-LD
JSON-based syntax to express linked data
@context
@id
@type
@value
@language
@graph
@list
@set
@mpetyx
SELF-DESCRIBING MESSAGES
• Give objects types
(@type)
{
"@context": {
"schema": "http://schema.org/",
"Person": "schema:Person",
"colleagues": {"@id": "schema:colleagues", "@type":
"@id"},
"name": "schema:name",
"image": {"@id": "schema:image", "@type": "@id"},
"url": {"@id": "schema:url", "@type": "@id"}
}
}
{
"@context": "http://example.com/context.jsonld",
"@type": "Person",
"image":
"http://localhost:9393/examples/schema.org/janedoe.jpg",
"colleagues": [
"http://www.xyz.edu/students/alicejones.html",
"http://www.xyz.edu/students/bobsmith.html"
],
"name": "Jane Doe",
"url": "http://www.janedoe.com"
}
@mpetyx
SELF-DESCRIBING MESSAGES
• Give objects types
(@type)
• Associate properties
with IRIs
{
"@context": {
"schema": "http://schema.org/",
"Person": "schema:Person",
"colleagues": {"@id": "schema:colleagues", "@type":
"@id"},
"name": "schema:name",
"image": {"@id": "schema:image", "@type": "@id"},
"url": {"@id": "schema:url", "@type": "@id"}
}
}
{
"@context": "http://example.com/context.jsonld",
"@type": "Person",
"image":
"http://localhost:9393/examples/schema.org/janedoe.jpg",
"colleagues": [
"http://www.xyz.edu/students/alicejones.html",
"http://www.xyz.edu/students/bobsmith.html"
],
"name": "Jane Doe",
"url": "http://www.janedoe.com"
}
@mpetyx
SELF-DESCRIBING MESSAGES
• Give objects types
(@type)
• Associate properties
with IRIs
• Use terms defined in a
referenced context
{
"@context": {
"schema": "http://schema.org/",
"Person": "schema:Person",
"colleagues": {"@id": "schema:colleagues", "@type":
"@id"},
"name": "schema:name",
"image": {"@id": "schema:image", "@type": "@id"},
"url": {"@id": "schema:url", "@type": "@id"}
}
}
{
"@context": "http://example.com/context.jsonld",
"@type": "Person",
"image":
"http://localhost:9393/examples/schema.org/janedoe.jpg",
"colleagues": [
"http://www.xyz.edu/students/alicejones.html",
"http://www.xyz.edu/students/bobsmith.html"
],
"name": "Jane Doe",
"url": "http://www.janedoe.com"
}
@mpetyx
SELF-DESCRIBING MESSAGES
• Give objects types
(@type)
• Associate properties
with IRIs
• Use terms defined in a
referenced context
• Specify property types
in context
{
"@context": {
"schema": "http://schema.org/",
"Person": "schema:Person",
"colleagues": {"@id": "schema:colleagues", "@type":
"@id"},
"name": "schema:name",
"image": {"@id": "schema:image", "@type": "@id"},
"url": {"@id": "schema:url", "@type": "@id"}
}
}
{
"@context": "http://example.com/context.jsonld",
"@type": "Person",
"image":
"http://localhost:9393/examples/schema.org/janedoe.jpg",
"knows": [
"http://www.xyz.edu/students/alicejones.html",
"http://www.xyz.edu/students/bobsmith.html"
],
"name": "Jane Doe",
"url": "http://www.janedoe.com"
}
@mpetyx
DESCRIBING APIS WITH JSON-LD
In search for the API Nirvana
DeepGraphs
WHAT IS HYDRA?
• W3C Community Group for Linked APIs
–REST + Linked Data
–“At the intersection of web schemas and RESTful web
applications”
@mpetyx
DEEPGRAPHS APPROACH
Goal: Modelling Hypermedia Responses
 Hydra Documents
 SWRL Rules
 JSON-LD Responses
1 Vocabulary
@mpetyx
SIMILAR APPROACHES/ MEDIA TYPES
DeepGraphs
Mason
Uber
JSON-LD
JSON API
Siren
HAL
Collection
JSON
JSON
Schema
JSON Hyper
Schema
XML
Schema
@mpetyx
THE LINDA SOLUTION
•Usage and Publication of Linked Data
•Renovation and Conversion of existing data
formats into Structures that support the
semantic enrichment and interlinking of data
http://linda-project.eu/
@mpetyx
JOIN THE HACK
http://linda-project.eu/hackathon/
http://linda-project.eu/
@mpetyx
THANK YOU
Michael Petychakis
<a
href="mailto:mpetyx@epu.ntua.gr?Subject=Hell
o" target="_top">Drop me an e-mail</a>
@mpetyx

Mais conteúdo relacionado

Mais procurados

HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIsHTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
Gustaf Nilsson Kotte
 
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIsThe liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
Jorge Ferrer
 
Data to Go: Mobile API Design
Data to Go: Mobile API DesignData to Go: Mobile API Design
Data to Go: Mobile API Design
Chuck Greb
 

Mais procurados (20)

Programming coldfusion with APIs
Programming coldfusion with APIsProgramming coldfusion with APIs
Programming coldfusion with APIs
 
Building systems with rest
Building systems with restBuilding systems with rest
Building systems with rest
 
Maintainable API Docs and Other Rainbow Colored Unicorns
Maintainable API Docs and Other Rainbow Colored UnicornsMaintainable API Docs and Other Rainbow Colored Unicorns
Maintainable API Docs and Other Rainbow Colored Unicorns
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
 
Instant Security & Scalable User Management with Spring Boot
Instant Security & Scalable User Management with Spring BootInstant Security & Scalable User Management with Spring Boot
Instant Security & Scalable User Management with Spring Boot
 
Event-based API Patterns and Practices - AsyncAPI Online Conference
Event-based API Patterns and Practices - AsyncAPI Online ConferenceEvent-based API Patterns and Practices - AsyncAPI Online Conference
Event-based API Patterns and Practices - AsyncAPI Online Conference
 
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
REST Coder: Auto Generating Client Stubs and Documentation for REST APIsREST Coder: Auto Generating Client Stubs and Documentation for REST APIs
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
 
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIsHTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
HTML Hypermedia APIs and Adaptive Web Design - Nordic APIs
 
Why should i care about hypermedia
Why should i care about hypermediaWhy should i care about hypermedia
Why should i care about hypermedia
 
Another API-Blueprint, RAML and Swagger Comparison
Another API-Blueprint, RAML and Swagger ComparisonAnother API-Blueprint, RAML and Swagger Comparison
Another API-Blueprint, RAML and Swagger Comparison
 
Azure for SharePoint Developers - Workshop - Part 1: Azure AD
Azure for SharePoint Developers - Workshop - Part 1: Azure ADAzure for SharePoint Developers - Workshop - Part 1: Azure AD
Azure for SharePoint Developers - Workshop - Part 1: Azure AD
 
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIsThe liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
 
Mobile Strategy with Charly Aug 2018
Mobile Strategy with Charly Aug 2018Mobile Strategy with Charly Aug 2018
Mobile Strategy with Charly Aug 2018
 
Data to Go: Mobile API Design
Data to Go: Mobile API DesignData to Go: Mobile API Design
Data to Go: Mobile API Design
 
APIdays Zurich 2019 - Digital Ecosystems, fueled by APIs Matthias Biehl, API ...
APIdays Zurich 2019 - Digital Ecosystems, fueled by APIs Matthias Biehl, API ...APIdays Zurich 2019 - Digital Ecosystems, fueled by APIs Matthias Biehl, API ...
APIdays Zurich 2019 - Digital Ecosystems, fueled by APIs Matthias Biehl, API ...
 
Azure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: BotsAzure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: Bots
 
IO State In Distributed API Architecture
IO State In Distributed API ArchitectureIO State In Distributed API Architecture
IO State In Distributed API Architecture
 
What is an API
What is an APIWhat is an API
What is an API
 
A Tour of Different API Management Architectures
A Tour of Different API Management ArchitecturesA Tour of Different API Management Architectures
A Tour of Different API Management Architectures
 
Instant Security and User Management in Spring Boot
Instant Security and User Management in Spring BootInstant Security and User Management in Spring Boot
Instant Security and User Management in Spring Boot
 

Semelhante a APIs and Linked Data: A match made in Heaven

03.m3 cms mash-up
03.m3 cms mash-up03.m3 cms mash-up
03.m3 cms mash-up
tarensi
 

Semelhante a APIs and Linked Data: A match made in Heaven (20)

A Real-World Implementation of Linked Data
A Real-World Implementation of Linked DataA Real-World Implementation of Linked Data
A Real-World Implementation of Linked Data
 
Designing Usable APIs featuring Forrester Research, Inc.
Designing Usable APIs featuring Forrester Research, Inc.Designing Usable APIs featuring Forrester Research, Inc.
Designing Usable APIs featuring Forrester Research, Inc.
 
APIs in Enterprise
APIs in EnterpriseAPIs in Enterprise
APIs in Enterprise
 
X api chinese cop monthly meeting feb.2016
X api chinese cop monthly meeting   feb.2016X api chinese cop monthly meeting   feb.2016
X api chinese cop monthly meeting feb.2016
 
"Why Fake News Is Relevant" - Introduction to the Userfeeds Protocol
"Why Fake News Is Relevant" - Introduction to the Userfeeds Protocol"Why Fake News Is Relevant" - Introduction to the Userfeeds Protocol
"Why Fake News Is Relevant" - Introduction to the Userfeeds Protocol
 
Connected data meetup group - introduction & scope
Connected data meetup group - introduction & scopeConnected data meetup group - introduction & scope
Connected data meetup group - introduction & scope
 
Thwart Fraud Using Graph-Enhanced Machine Learning and AI
Thwart Fraud Using Graph-Enhanced Machine Learning and AIThwart Fraud Using Graph-Enhanced Machine Learning and AI
Thwart Fraud Using Graph-Enhanced Machine Learning and AI
 
Conclusions - Linked Data
Conclusions - Linked DataConclusions - Linked Data
Conclusions - Linked Data
 
Delivering a Linked Data warehouse and realising the power of graphs
Delivering a Linked Data warehouse and realising the power of graphsDelivering a Linked Data warehouse and realising the power of graphs
Delivering a Linked Data warehouse and realising the power of graphs
 
03.m3 cms mash-up
03.m3 cms mash-up03.m3 cms mash-up
03.m3 cms mash-up
 
Data APIs as a Foundation for Systems of Engagement
Data APIs as a Foundation for Systems of EngagementData APIs as a Foundation for Systems of Engagement
Data APIs as a Foundation for Systems of Engagement
 
Koneksys - Offering Services to Connect Data using the Data Web
Koneksys - Offering Services to Connect Data using the Data WebKoneksys - Offering Services to Connect Data using the Data Web
Koneksys - Offering Services to Connect Data using the Data Web
 
Social Media Data Collection & Analysis
Social Media Data Collection & AnalysisSocial Media Data Collection & Analysis
Social Media Data Collection & Analysis
 
Knowledge Graphs Webinar- 11/7/2017
Knowledge Graphs Webinar- 11/7/2017Knowledge Graphs Webinar- 11/7/2017
Knowledge Graphs Webinar- 11/7/2017
 
Alitora Innovation Networks
Alitora Innovation NetworksAlitora Innovation Networks
Alitora Innovation Networks
 
Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...
Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...
Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...
 
INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...
INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...
INTERFACE by apidays 2023 - APIs with bounded contexts, Jose Haro Peralta, mi...
 
Catapult k2 partner event oct 12 2011
Catapult k2 partner event oct 12 2011Catapult k2 partner event oct 12 2011
Catapult k2 partner event oct 12 2011
 
Semantics and Machine Learning
Semantics and Machine LearningSemantics and Machine Learning
Semantics and Machine Learning
 
Is BCS Dead?
Is BCS Dead?Is BCS Dead?
Is BCS Dead?
 

Mais de Michael Petychakis

A Graph API Framework - APIdays Barcelona 2015
A Graph API Framework - APIdays Barcelona 2015A Graph API Framework - APIdays Barcelona 2015
A Graph API Framework - APIdays Barcelona 2015
Michael Petychakis
 

Mais de Michael Petychakis (6)

A Graph API Framework - APIdays Barcelona 2015
A Graph API Framework - APIdays Barcelona 2015A Graph API Framework - APIdays Barcelona 2015
A Graph API Framework - APIdays Barcelona 2015
 
Consuming APIs with Python
Consuming APIs with PythonConsuming APIs with Python
Consuming APIs with Python
 
Goal based denial and wishful thinking
Goal based denial and wishful thinkingGoal based denial and wishful thinking
Goal based denial and wishful thinking
 
Question Answering over Linked Data - Reasoning Issues
Question Answering over Linked Data - Reasoning IssuesQuestion Answering over Linked Data - Reasoning Issues
Question Answering over Linked Data - Reasoning Issues
 
A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Bas...
A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Bas...A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Bas...
A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Bas...
 
Infusing Social Data Analytics into Future Internet applications for Manufact...
Infusing Social Data Analytics into Future Internet applications for Manufact...Infusing Social Data Analytics into Future Internet applications for Manufact...
Infusing Social Data Analytics into Future Internet applications for Manufact...
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

APIs and Linked Data: A match made in Heaven

  • 1. APIS AND LINKED DATA A M AT C H M A D E I N H E A V E N M I C H A E L P E T Y C H A K I S N A T I O N A L T E C H N I C A L U N I V E R S I T Y O F A T H E N S A T H E N S , G R E E C E , 7 T H N O V E M B E R 2 0 1 5
  • 2. AGENDA • Linked Data Overview • Business Models on Linked Data • What is an API? • Business Importance Around APIs • APIs and Linked Data • JSON-LD • Hydra • DeepGraphs • Linda @mpetyx
  • 3. LINKED DATA “The term Linked Data refers to a set of best practices for publishing and connecting structured data on the Web.” “the Semantic Web is the goal or end result… Linked Data provides the means to reach that goal” From ‘Linked Data: The Story So Far’ - Heath, Bizer and Berners-Lee 2009 “The goal of Linked Data is to enable people to share structured data on the Web as easily as they can share documents today.” • Bizer/Cyganiak/Heath Linked Data Tutorial, linkeddata.org @mpetyx
  • 4. LINKED DATA DESIGN ISSUES @mpetyx
  • 5. URIS AND HTTP • “A Uniform Resource Identifier’ (URI) provides a simple and extensible means for identifying a resource” – W3C RFC 3986 • HTTP URIs may be ‘de-referenced’on the Web • HTTP URIs are used for “real world” things • http://adrianstevenson.com/id/me • http://dbpedia.org/resource/Love @mpetyx
  • 6. LINKED DATA BUSINESS MODELS Subscription Sell access to data feeds Sell access to data driven applications Advertising Sell paid placement inside data feeds Sell advertising around data- driven applications Authoring Charge for official reviews and certifications Charge for data verifications and compliance services Affiliate Links E-commerce affiliate links embedded in data feeds E-commerce affiliate links in data-driven applications Value-Add Data enhances paid application or service Data provided as a customer or lead incentive Traffic Search engine optimisation Traffic generation via linked open data networks Branding Data sets, structures and ontologies to shape market Data-driven applications for brand positioning Direct Indirect @mpetyx
  • 7. WHAT IS AN API? • ‘Application Programming Interface’ – “API is an online interface that allows distributed systems to communicate with one another and exchange information” – “APIs are carefully thought out pieces of code created by programmers .. that allow other applications to interact with their application” @mpetyx
  • 8. APIS • Allow machine readability of data – Typically over the Web • Provide other systems with access to content or functions • Many types – e.g. – Google, Facebook, Flickr, twitter APIs …. – OAI-PMH – Linked Data API, SPARQL – Others include SOLR, SRU, Z39.50, SOAP, …. @mpetyx
  • 9. APIS ARE MACHINE TO MACHINE • API is software-to-software interface, not a user interface • E.g. Cinema ticket websites use API: – Sends credit card info to remote application – Remote application sends response back to ticket website saying OK to issue the tickets • User see one interface @mpetyx
  • 11. 958 million websites 60 trillion web pages @mpetyx
  • 12. WHY NEED AN API AT ALL? A small team/Company Shipping is Priority API Saves Money Someone else is doing it better No Time @mpetyx
  • 13. IMPORTANT OF API STABILITY IN SMES Markeplaces, Hubs, Directories, Search Sandboxing environments Ad-hoc requests Testing @mpetyx
  • 14. EACH API IS UNIQUE @mpetyx
  • 16. AUTOMATED API PROVISIONING • Problem: How do I use an API without specifically coding for it? • Answer: Use vocabulary to define operations on classes and properties • Proposition: Annotations are the result of operations on entities or the relationships between entities. – Those results are also entities, which may be operated upon. @mpetyx
  • 17. LINKS AND OPERATIONS • Define operations on entities, types of entities, or their properties. • When does a property link to an entity? • How do you use pagination to reference and collect linked entities? • What operations can I perform on an entity, or property of that entity? • Where does authentication/authorization intersect with generic API interactions? @mpetyx
  • 18. INTRODUCING JSON-LD JSON-based syntax to express linked data @context @id @type @value @language @graph @list @set @mpetyx
  • 19. SELF-DESCRIBING MESSAGES • Give objects types (@type) { "@context": { "schema": "http://schema.org/", "Person": "schema:Person", "colleagues": {"@id": "schema:colleagues", "@type": "@id"}, "name": "schema:name", "image": {"@id": "schema:image", "@type": "@id"}, "url": {"@id": "schema:url", "@type": "@id"} } } { "@context": "http://example.com/context.jsonld", "@type": "Person", "image": "http://localhost:9393/examples/schema.org/janedoe.jpg", "colleagues": [ "http://www.xyz.edu/students/alicejones.html", "http://www.xyz.edu/students/bobsmith.html" ], "name": "Jane Doe", "url": "http://www.janedoe.com" } @mpetyx
  • 20. SELF-DESCRIBING MESSAGES • Give objects types (@type) • Associate properties with IRIs { "@context": { "schema": "http://schema.org/", "Person": "schema:Person", "colleagues": {"@id": "schema:colleagues", "@type": "@id"}, "name": "schema:name", "image": {"@id": "schema:image", "@type": "@id"}, "url": {"@id": "schema:url", "@type": "@id"} } } { "@context": "http://example.com/context.jsonld", "@type": "Person", "image": "http://localhost:9393/examples/schema.org/janedoe.jpg", "colleagues": [ "http://www.xyz.edu/students/alicejones.html", "http://www.xyz.edu/students/bobsmith.html" ], "name": "Jane Doe", "url": "http://www.janedoe.com" } @mpetyx
  • 21. SELF-DESCRIBING MESSAGES • Give objects types (@type) • Associate properties with IRIs • Use terms defined in a referenced context { "@context": { "schema": "http://schema.org/", "Person": "schema:Person", "colleagues": {"@id": "schema:colleagues", "@type": "@id"}, "name": "schema:name", "image": {"@id": "schema:image", "@type": "@id"}, "url": {"@id": "schema:url", "@type": "@id"} } } { "@context": "http://example.com/context.jsonld", "@type": "Person", "image": "http://localhost:9393/examples/schema.org/janedoe.jpg", "colleagues": [ "http://www.xyz.edu/students/alicejones.html", "http://www.xyz.edu/students/bobsmith.html" ], "name": "Jane Doe", "url": "http://www.janedoe.com" } @mpetyx
  • 22. SELF-DESCRIBING MESSAGES • Give objects types (@type) • Associate properties with IRIs • Use terms defined in a referenced context • Specify property types in context { "@context": { "schema": "http://schema.org/", "Person": "schema:Person", "colleagues": {"@id": "schema:colleagues", "@type": "@id"}, "name": "schema:name", "image": {"@id": "schema:image", "@type": "@id"}, "url": {"@id": "schema:url", "@type": "@id"} } } { "@context": "http://example.com/context.jsonld", "@type": "Person", "image": "http://localhost:9393/examples/schema.org/janedoe.jpg", "knows": [ "http://www.xyz.edu/students/alicejones.html", "http://www.xyz.edu/students/bobsmith.html" ], "name": "Jane Doe", "url": "http://www.janedoe.com" } @mpetyx
  • 23. DESCRIBING APIS WITH JSON-LD In search for the API Nirvana DeepGraphs
  • 24. WHAT IS HYDRA? • W3C Community Group for Linked APIs –REST + Linked Data –“At the intersection of web schemas and RESTful web applications” @mpetyx
  • 25. DEEPGRAPHS APPROACH Goal: Modelling Hypermedia Responses  Hydra Documents  SWRL Rules  JSON-LD Responses 1 Vocabulary @mpetyx
  • 26. SIMILAR APPROACHES/ MEDIA TYPES DeepGraphs Mason Uber JSON-LD JSON API Siren HAL Collection JSON JSON Schema JSON Hyper Schema XML Schema @mpetyx
  • 27. THE LINDA SOLUTION •Usage and Publication of Linked Data •Renovation and Conversion of existing data formats into Structures that support the semantic enrichment and interlinking of data http://linda-project.eu/ @mpetyx

Notas do Editor

  1. Και μονο που αλλαζει η ημερομηνια σε καθε ενα απο αυτα, καθε μερα αυτος ο αριθμος πολλαπλασιαζεται
  2. JSON-LD brings a standard representation for expressing entity-value relationships using a few standard keywords and a consistent organizational structure for JSON Objects. Objects represent entities, with keys acting as properties. Properties always expand to full IRIs. Arrays express a set of values associated with a property, unordered by default. Order expressed in @context or as an expanded value representation. Values are Object, string or native, with standard XSD representations for native types. Expanded form allows for more datatype and language variations.
  3. The @type key gives an object with one or more types, described with an IRI. The @context provides a way to express IRIs as simple terms, and allows values to be typed.