SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Miel Vander Sande!
@miel_vds!
Publish Data as !
Time consistent !
Web API!
Cultural Heritage – Open Data!
ARCHIVE & DESSIMINATE
metadata or data!
Web
API
R
R
API
R
R
API
R
R
Resource-oriented scalable & easily combined!
Linked Data, Mashups, Web applicationS
HTTP!
API
R
R
API
R
R
Resources’ value (state) change over time !
APIs only publish most recent state!
Resource state changes lead to
inconsistenties in mashup results!
http://example.com/average-income!
http://example.com/unemployment-rate!
2004
2012
InaccuRate MASHUP!
Memento
DateTime negotiation over HTTP!
Constant state over resources!
Van de Sompel et al.!
http://mementoweb.org!
R TG
M
Original Resource! TimeGate! Memento(s)!
MMM
Memento
R TG
GET! 200 OK!
Link: URI-TG;!
type=timegate!
MMMM
Memento
MMMMR TG
GET!
Accept-Datetime:!
2014-05-14T00:00:00!
302 Found!
Location: URI-M!
Memento
M1 M3 M4M2
Mementos: encapsulated prior states with timestamp!
Memento
M1 M3 M4M2
Select last valid Memento at given Datetime!
GET URI-TG!
Accept-Datetime: 2014-05-15T00:00:00!
Memento
MMMMR
GET!
TG
200 OK!
Link: URI-R;type=original!
Link: URI-Mn;type=next!
Link: URI-Mp;type=previous!
Memento
Each API works with!
Own Archiving System!
Own Storage Access!
Own File Formats!
Custom implementation required !
Memento
Publish data as!
TIME CONSISTENT API
Storage! API! Memento!
Data management!
Versioning!
Publishing Resources!
HTTP interaction!
Datetime negotiation!
DYNAMIC + GENERIC ??
PROVENANCE!
Who, WHEN & WHAT
happened to my resources?!
M1 M3 M4M2
Provenance !
describes when resource values change!
Was revision of Was revision of Was revision of
A2 A4A3A1
generated generated generated generated
PROV-O!
provenance in RDF!
<Resource> prov:wasRevisionOf <Resource/M3>;
prov:wasGeneratedBy :rev4.
:rev4 prov:endedAtTime
"2014-06-10T14:30:00Z"^^xsd:dateTime.
<Resource/M3> prov:wasRevisionOf <Resource/M2>;
prov:wasGeneratedBy :rev3.
:rev3 prov:endedAtTime
"2014-05-14T14:30:00Z"^^xsd:dateTime.
Publish data as!
TIME CONSISTENT API
Storage! API! Memento!
Data management!
Versioning!
Publishing Resources!
HTTP interaction!
Datetime negotiation!
PROVENANCE
Provenance!
Provenance*!
File versions!
Version Resources!
File!
File Resource!
1. Versioning & MANAGING FILES!
PROVCSV
CSV-CxCSV-CxCSV-CxCSV-Cx
http://git2prov.org
Data Commits Provenance
2. CREATING THE API!
POST!
/api/definitions!
{
“uri”: file-url,
“type”: “text/csv”,
“Delimiter”: “,”
}
The DataTank: instant REST API for heteregeneous data!
file-url
commit-url
PROV
2. CREATING THE API!
200 OK!
Location: URI-L!
The DataTank: instant REST API for heteregeneous data!
PROV
L
GIT!
2. CREATING THE API!
API! L
MMMV
Link: provenance! describes!
CSV
CSV-CxCSV-CxCSV-CxCSV-Cx
PROV
API!
GMP!
R TG
MMMM
L PROV
MMMV
GET!
Link: provenance! describes!
GET! GET!
3. GENERIC Memento PROXY
Decision Engine
GENERIC Memento PROXY
TG
PROV
GET!
Accept-Datetime:!
2014-05-14T00:00:00!
N3
rules
EYE
Reasoner
M
+
V
302 Found!
Location: URI - M!
DeCISION LOGIC WITH SEMANTIC REASONING!
EYE reasoner and N3 rules select memento!
prov:wasRevisionOf rdfs:subPropertyOf :memento.
:memento a owl:TransitiveProperty.
:request :datetime "2014-05-15T00:00:00Z"^^xsd:dateTime
DeCISION LOGIC WITH REASONING!
EYE reasoner and N3 rules select the memento!
{
:request :datetime ?req_datetime.
[] e:findall (?datetime {
?rev prov:endedAtTime ?datetime .
(?datetime ?req_datetime) pred:dateTime-
less-than-or-equal true.
} ?datetime_list) .
?datetime_list e:max ?current_datetime.
?current prov:endedAtTime ?current_datetime.
}
=>
{
:response :memento ?current.
}.
IF
prov:endedAtTime
is largest prior to
given ?req_datetime
THEN!
Selected memento is
the !
?current one
DeCISION LOGIC WITH REASONING!
EYE reasoner and N3 rules select the memento!
:response :memento <Resource/M1> .
:response :next-memento <Resource/M2> .
:response :last-memento <Resource> .
Publish data as!
TIME CONSISTENT API
Storage! API! Memento!
Data management!
Versioning!
Publishing Resources!
HTTP interaction!
Datetime negotiation!
DYNAMIC + GENERIC ??
Publish data as!
TIME CONSISTENT API
Storage! API! Memento!
Data management!
Versioning!
Publishing Resources!
HTTP interaction!
Datetime negotiation!
PROVENANCE
Miel Vander Sande!
@miel_vds!

Mais conteúdo relacionado

Semelhante a Publish data as Time Consistent Web API based on Provenance (WS-REST 2014)

The Real-time Web in the Age of Agents
The Real-time Web in the Age of AgentsThe Real-time Web in the Age of Agents
The Real-time Web in the Age of Agents
Joshua Shinavier
 
Streams in node js
Streams in node jsStreams in node js
Streams in node js
Kushal Likhi
 

Semelhante a Publish data as Time Consistent Web API based on Provenance (WS-REST 2014) (20)

The REST And Then Some
The REST And Then SomeThe REST And Then Some
The REST And Then Some
 
Devnexus 2018 - Let Your Data Flow with Apache NiFi
Devnexus 2018 - Let Your Data Flow with Apache NiFiDevnexus 2018 - Let Your Data Flow with Apache NiFi
Devnexus 2018 - Let Your Data Flow with Apache NiFi
 
Soap and Rest
Soap and RestSoap and Rest
Soap and Rest
 
იოსებ ძმანაშვილი - The Web APIs
იოსებ ძმანაშვილი - The Web APIsიოსებ ძმანაშვილი - The Web APIs
იოსებ ძმანაშვილი - The Web APIs
 
Semantic Web
Semantic WebSemantic Web
Semantic Web
 
Introduction to REST and Hypermedia
Introduction to REST and HypermediaIntroduction to REST and Hypermedia
Introduction to REST and Hypermedia
 
Building an Event-driven Web @ Impact
Building an Event-driven Web @ ImpactBuilding an Event-driven Web @ Impact
Building an Event-driven Web @ Impact
 
Hypermedia APIs - GeekOut
Hypermedia APIs - GeekOutHypermedia APIs - GeekOut
Hypermedia APIs - GeekOut
 
The KNOT DNS Server
The KNOT DNS ServerThe KNOT DNS Server
The KNOT DNS Server
 
Rest
RestRest
Rest
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Apache Kafka vs. Cloud-native iPaaS Integration Platform MiddlewareApache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
 
Developing applications with Kurento
Developing applications with KurentoDeveloping applications with Kurento
Developing applications with Kurento
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPress
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPress
 
The Real-time Web in the Age of Agents
The Real-time Web in the Age of AgentsThe Real-time Web in the Age of Agents
The Real-time Web in the Age of Agents
 
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
AWS Pop-up Loft Berlin: Cache is King - Running Lean Architectures: Optimizin...
 
Push the web with HTML5
Push the web with HTML5Push the web with HTML5
Push the web with HTML5
 
Buildingplatforms
BuildingplatformsBuildingplatforms
Buildingplatforms
 
Streams in node js
Streams in node jsStreams in node js
Streams in node js
 

Mais de Miel Vander Sande

PhD Defense: Metadata and Control Features for Low-Cost Linked Data Publishin...
PhD Defense: Metadata and Control Features for Low-Cost Linked Data Publishin...PhD Defense: Metadata and Control Features for Low-Cost Linked Data Publishin...
PhD Defense: Metadata and Control Features for Low-Cost Linked Data Publishin...
Miel Vander Sande
 
Opportunistic Linked Data Querying through Approximate Membership Metadata
Opportunistic Linked Data Querying through Approximate Membership MetadataOpportunistic Linked Data Querying through Approximate Membership Metadata
Opportunistic Linked Data Querying through Approximate Membership Metadata
Miel Vander Sande
 
LDOW2013 r&wbase: git for triples
LDOW2013 r&wbase: git for triplesLDOW2013 r&wbase: git for triples
LDOW2013 r&wbase: git for triples
Miel Vander Sande
 
The Terminator's origins or how the Semantic Web could endanger Humanity.
The Terminator's origins or how the Semantic Web could endanger Humanity.The Terminator's origins or how the Semantic Web could endanger Humanity.
The Terminator's origins or how the Semantic Web could endanger Humanity.
Miel Vander Sande
 
PMOD Challenges for Open Data Usage: Open derivatives and challenges
PMOD Challenges for Open Data Usage: Open derivatives and challengesPMOD Challenges for Open Data Usage: Open derivatives and challenges
PMOD Challenges for Open Data Usage: Open derivatives and challenges
Miel Vander Sande
 
Aan de slag met Linked Open Data
Aan de slag met Linked Open DataAan de slag met Linked Open Data
Aan de slag met Linked Open Data
Miel Vander Sande
 
The DataTank: an Open Data adapter with semantic output
The DataTank: an Open Data adapter with semantic outputThe DataTank: an Open Data adapter with semantic output
The DataTank: an Open Data adapter with semantic output
Miel Vander Sande
 

Mais de Miel Vander Sande (18)

20230525_mmc_seminar.pdf
20230525_mmc_seminar.pdf20230525_mmc_seminar.pdf
20230525_mmc_seminar.pdf
 
The Memento protocol
The Memento protocolThe Memento protocol
The Memento protocol
 
Slight change of plans!
Slight change of plans!Slight change of plans!
Slight change of plans!
 
Preserving a Web of Linked Data: Lessons and challenges from a fading web
Preserving a Web of Linked Data: Lessons and challenges from a fading webPreserving a Web of Linked Data: Lessons and challenges from a fading web
Preserving a Web of Linked Data: Lessons and challenges from a fading web
 
PhD Defense: Metadata and Control Features for Low-Cost Linked Data Publishin...
PhD Defense: Metadata and Control Features for Low-Cost Linked Data Publishin...PhD Defense: Metadata and Control Features for Low-Cost Linked Data Publishin...
PhD Defense: Metadata and Control Features for Low-Cost Linked Data Publishin...
 
Reproducibility with 
the 99 cents Linked Data archive
Reproducibility with 
the 99 cents Linked Data archiveReproducibility with 
the 99 cents Linked Data archive
Reproducibility with 
the 99 cents Linked Data archive
 
Innovatiemarkt 2017: Machines are the new digital natives
Innovatiemarkt 2017: Machines are the new digital nativesInnovatiemarkt 2017: Machines are the new digital natives
Innovatiemarkt 2017: Machines are the new digital natives
 
A sweet affordable combo for Linked Data Archives
A sweet affordable combo for Linked Data ArchivesA sweet affordable combo for Linked Data Archives
A sweet affordable combo for Linked Data Archives
 
Machines are the new Digital Natives
Machines are the new Digital NativesMachines are the new Digital Natives
Machines are the new Digital Natives
 
Time travelling through DBpedia
Time travelling through DBpediaTime travelling through DBpedia
Time travelling through DBpedia
 
Opportunistic Linked Data Querying through Approximate Membership Metadata
Opportunistic Linked Data Querying through Approximate Membership MetadataOpportunistic Linked Data Querying through Approximate Membership Metadata
Opportunistic Linked Data Querying through Approximate Membership Metadata
 
The Story behind Everything Is Connected: Multimedia narration of automatical...
The Story behind Everything Is Connected: Multimedia narration of automatical...The Story behind Everything Is Connected: Multimedia narration of automatical...
The Story behind Everything Is Connected: Multimedia narration of automatical...
 
LDOW2013 r&wbase: git for triples
LDOW2013 r&wbase: git for triplesLDOW2013 r&wbase: git for triples
LDOW2013 r&wbase: git for triples
 
The Terminator's origins or how the Semantic Web could endanger Humanity.
The Terminator's origins or how the Semantic Web could endanger Humanity.The Terminator's origins or how the Semantic Web could endanger Humanity.
The Terminator's origins or how the Semantic Web could endanger Humanity.
 
PMOD Challenges for Open Data Usage: Open derivatives and challenges
PMOD Challenges for Open Data Usage: Open derivatives and challengesPMOD Challenges for Open Data Usage: Open derivatives and challenges
PMOD Challenges for Open Data Usage: Open derivatives and challenges
 
Aan de slag met Linked Open Data
Aan de slag met Linked Open DataAan de slag met Linked Open Data
Aan de slag met Linked Open Data
 
The DataTank: an Open Data adapter with semantic output
The DataTank: an Open Data adapter with semantic outputThe DataTank: an Open Data adapter with semantic output
The DataTank: an Open Data adapter with semantic output
 
Follow the stars 25/11/2011
Follow the stars 25/11/2011Follow the stars 25/11/2011
Follow the stars 25/11/2011
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Publish data as Time Consistent Web API based on Provenance (WS-REST 2014)