An Overview on PROV-AQ: Provenance Access and Query
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

An Overview on PROV-AQ: Provenance Access and Query

  • 1,040 views
Uploaded on

The slides which I used at the Dagstuhl seminar on Principles of Provenance (Feb.2012) for presenting the main contributions and open issues of the PROV-AQ document created by the W3C provenance......

The slides which I used at the Dagstuhl seminar on Principles of Provenance (Feb.2012) for presenting the main contributions and open issues of the PROV-AQ document created by the W3C provenance working group.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,040
On Slideshare
1,040
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. An Overview on PROV-AQ: Provenance Access and Query Editors: Authors: Graham Klyne Luc Moreau Paul Groth Olaf Hartig Yogesh Simmhan James Myers Timothy Lebo Khalid Belhajjame Simon Miles Presentation at the Dagstuhl Seminar on Principles of Provenance February 29, 2012
  • 2. Purpose
    • Describes how to
    • provenance information
    • 5. Guiding principle:
      • Do not reinvent the wheel
      • 6. Use standard Web protocols
  • 7. Main Contributions
    • Simple mechanisms for discovery and retrieval
    • 8. More advanced
      • discovery service and
      • 9. query mechanisms
  • 10. Outline Key Concepts Simple Mechanisms Provenance Services Querying Provenance Information Open Issues
  • 11. Key Concepts * Architecture of the World Wide Web, Volume One, W3C Rec.
  • 16. Questions to be Addressed
    • What is the provenance URI for provenance information about a particular entity?
    • 17. What is the relevant entity URI used in some provenance information?
    • 18. What if there is no provenance URI?
    • 19. What if there is no entity URI?
    • 20. Out of scope:
      • Representation of provenance information
      • 21. Management of provenance information
  • 22. Outline Key Concepts Simple Mechanisms Provenance Services Querying Provenance Information Open Issues
  • 23. Entity URI and Provenance URI ... … for resources accessed by HTTP
    • Link header field * in the HTTP response
    * defined in RFC 5988 HTTP/1.1 200 OK Content-Type: text/html Date: Fri, 24 Feb 2012 12:58:02 GMT Expires: Fri, 02 Mar 2012 12:57:52 GMT Link: http://example.org/prov/aboutX; rel= &quot; provenance &quot; ; anchor= &quot; http://example.org/X &quot; Content-Length: 18556 <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;> <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head> <link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;main.css&quot; /> <!-- page-specific style definitions --> <style type=&quot;text/css&quot;> GET //example.org/X HTTP/1.1 Host: example.org Accept: text/html
  • 24. Entity URI and Provenance URI ... … for resources accessed by HTTP
    • Link header field * in the HTTP response
    * defined in RFC 5988 HTTP/1.1 200 OK Content-Type: text/html Date: Fri, 24 Feb 2012 12:58:02 GMT Expires: Fri, 02 Mar 2012 12:57:52 GMT Link: http://example.org/prov/aboutX; rel= &quot; provenance &quot; ; anchor= &quot; http://example.org/X &quot; Content-Length: 18556 <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;> <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head> <link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;main.css&quot; /> <!-- page-specific style definitions --> <style type=&quot;text/css&quot;> GET //example.org/X HTTP/1.1 Host: example.org Accept: text/html Link: http://example.org/prov/aboutX; rel=&quot;provenance&quot;; anchor=&quot;http://example.org/X&quot;
  • 25. Entity URI and Provenance URI ... … for resources accessed by HTTP
    • Link header field * in the HTTP response
    * defined in RFC 5988 HTTP/1.1 200 OK Content-Type: text/html Date: Fri, 24 Feb 2012 12:58:02 GMT Expires: Fri, 02 Mar 2012 12:57:52 GMT Link: http://example.org/prov/aboutX; rel= &quot; provenance &quot; ; anchor= &quot; http://example.org/X &quot; Content-Length: 18556 <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;> <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head> <link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;main.css&quot; /> <!-- page-specific style definitions --> <style type=&quot;text/css&quot;> GET //example.org/X HTTP/1.1 Host: example.org Accept: text/html Link: http://example.org/prov/aboutX; rel=&quot;provenance&quot;; anchor=&quot;http://example.org/X&quot; Entity URI (optional) Provenance URI
  • 26. Embedding Provenance Links ... … in representations of resources.
    • Proposal for particular representation formats:
      • HTML
      • 27. RDF based (e.g. RDF/XML, Turtle, RDFa)
    • Common mechanism for arbitrary representations is out of scope
  • 28. Outline Key Concepts Simple Mechanisms Provenance Services Querying Provenance Information Open Issues
  • 29. Functionality
    • Provenance retrieval service
      • Input: entity URI
      • 30. Output: provenance information
    • Provenance discovery service
      • Input: entity URI
      • 31. Output: provenance URI(s)
    • Provided via a REST API
  • 32. Service Discovery
    • Simple mechanism
      • … for resources accessed by HTTP:
    • However, a general approach is out of scope
    Link: Service-URI ; rel=&quot;provenance-service&quot;; anchor=&quot; Entity-URI &quot;
  • 33. Resources in the REST API
    • Service description resource
      • Accessible by dereferencing the Service-URI
      • 34. How to construct URIs for other two resource types
    • Provenance information resource
      • Provides provenance information
      • 35. Represented in any format (e.g. RDF based, XML)
    • Provenance locations resource
  • 36. Provenance Locations Resource
    • Enumerates provenance URIs for a particular entity
  • 37. Provenance Locations Resource { &quot;uri&quot;: &quot;http://example.org/X&quot;, &quot;provenance&quot;: [ &quot;http://prov.example.org/aboutX&quot;, &quot;http://example.com/prov?id=X&quot; ] }
    • Enumerates provenance URIs for a particular entity
    • 38. Example representation in JSON format
  • 39. Provenance Locations Resource { &quot;uri&quot;: &quot;http://example.org/X&quot;, &quot;provenance&quot;: [ &quot;http://prov.example.org/aboutX&quot;, &quot;http://example.com/prov?id=X&quot; ] } @prefix prov: <@@TBD@@#> . <http://example.org/X> a prov:Entity ; prov:hasProvenance <http://prov.example.org/aboutX> ; prov:hasProvenance <http://example.com/prov?id=X> .
    • Enumerates provenance URIs for a particular entity
    • 40. Example representation in JSON format
    • 41. Example representation in Turtle (i.e.RDF data)
  • 42. Using the API ...
    • Required: Entity-URI and Service-URI
    • Obtain service description (by dereferencing Service-URI )
    • 43. Extract URI template for locations resources
    • 44. Form Provenance-Locations-URI (by instantiating the template with Entity-URI )
    • 45. Obtain provenance locations resource (by dereferencing Provenance-Locations-URI )
    • 46. Extract relevant Provenance-URI s
    … to retrieve provenance URI(s)
  • 47. Outline Key Concepts Simple Mechanisms Provenance Services Querying Provenance Information Open Issues
  • 48. Provenance Query Services
    • Alternative for cases where aforementioned mechanisms are insufficient
    • 49. PROV-AQ recommends SPARQL
      • Query language for RDF data
      • 50. Protocol for SPARQL query processing services
  • 51. Example Queries
    • Use case: unknown entity URI
    • 52. Use case: ask for a particular piece of provenance information only
    SELECT ?provenance_uri WHERE { ?entity prism:doi &quot;1234.5678&quot; ; prov:hasProvenance ?provenance_uri . } SELECT ?start_time WHERE { <http://example.org/X> prov:wasGeneratedBy ?act . ?act prov:startedAt ?start . ?start prov:inXSDDateTime ?start_time . }
  • 53. Outline Key Concepts Simple Mechanisms Provenance Services Querying Provenance Information Open Issues
  • 54. Main Open Issues
    • Entities disjoint from Activities in PROV-DM
    • 55. Remove service descriptions (i.e. prescribe a particular template)?
      • Simplifies the process of using provenance services
    • Embedding provenance information directly
      • Best practice recommendation for HTML: RDFa
      • 56. General approach is out of scope
    { &quot;provenance_service_uri&quot;: &quot;http://example.org/PS/&quot;, &quot;provenance_locations_template&quot;: &quot; http://ps.example.org/loc?uri = {uri} &quot; }
  • 57. Summary
    • Main contributions:
      • Simple mechanisms for retrieving and discovering provenance information
      • 58. More advanced discovery service and query mechanisms
  • 59. These slides have been created by Olaf Hartig http://olafhartig.de This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License http://creativecommons.org/licenses/by-sa/3.0/
  • 60. Backup Slides
  • 61. Resources Represented as HTML
    • <link> elements in the <head> section
    <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; > <head> <link rel =&quot;provenance&quot; href =&quot;http://example.org/prov/aboutX&quot; /> <link rel =&quot;anchor&quot; href =&quot;http://example.org/X&quot; /> <link rel =&quot;stylesheet&quot; type =&quot;text/css&quot; href =&quot;main.css&quot; /> <title> Welcome </title> </head> <body> < h1 > Welcome to this Web page</ h1 > < p >
  • 62. Provenance Service URI ... … for resources accessed by HTTP Link: Service-URI ; rel=&quot;provenance-service&quot;; anchor=&quot; Entity-URI &quot;
  • 63. Resources Represented as HTML
    • <link> elements in the <head> section
    Indicating a provenance service: <link rel=&quot;provenance-service&quot; href=&quot; Service-URI &quot; /> <html xmlns =&quot;http://www.w3.org/1999/xhtml&quot; > <head> <link rel =&quot;provenance&quot; href =&quot;http://example.org/provOfX&quot; /> <link rel =&quot;anchor&quot; href =&quot;http://example.org/X&quot; /> <link rel =&quot;stylesheet&quot; type =&quot;text/css&quot; href =&quot;main.css&quot; /> <title> Welcome </title> </head> <body> < h1 > Welcome to this Web page</ h1 > < p >
  • 64. Service Description
    • Provides templates for URIs of
      • provenance locations resources and/or
      • 65. provenance information resources
  • 66. Service Description
    • Provides templates for URIs of
      • provenance locations resources and/or
      • 67. provenance information resources
    • Example description represented in JSON
    { &quot;provenance_service_uri&quot;: &quot;http://example.org/PS/&quot;, &quot;provenance_locations_template&quot;: &quot;http://ps.example.org/loc?uri={uri}&quot;, &quot;provenance_content_template&quot;: &quot;http://example.org/PS/prov?uri={uri}&quot; }
  • 68. Service Description
    • Provides templates for URIs of
      • provenance locations resources and/or
      • 69. provenance information resources
    • Example description represented in JSON
      • Provenance locations resource for http://example.org has URI:
    { &quot;provenance_service_uri&quot;: &quot;http://example.org/PS/&quot;, &quot;provenance_locations_template&quot;: &quot; http://ps.example.org/loc?uri= {uri} &quot;, &quot;provenance_content_template&quot;: &quot;http://example.org/PS/prov?uri={uri}&quot; } http://ps.example.org/loc?uri= http%3A%2F%2Fexample.org
  • 70. Using the API ...
    • Required: Entity-URI and Service-URI
    • Obtain service description (by dereferencing Service-URI )
    • 71. Extract URI template for information resources
    • 72. Form Provenance-URI (by instantiating the template with Entity-URI )
    • 73. Obtain provenance information resource (by dereferencing Provenance-URI )
    • 74. Extract relevant provenance information
    … to retrieve provenance information