An Overview on PROV-AQ: Provenance Access and Query

  • 774 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
774
On Slideshare
0
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