Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
1. The Provenance Vocabulary
http://purl.org/net/provenance/
Olaf Hartig
Jun Zhao
W3C Provenance Incubator Group call May 14, 2010
2. Our Goal
● Integrate provenance metadata into the Web of
data to enable information quality assessment
● Vocabulary to describe provenance of Linked
Data on the Web
● Easy to use
● By people who provide Linked Data
● By developers of Linked Data publishing tools
May 14, 2010 The Provenance Vocabulary 2
3. Overview of the Vocabulary
● Defined as an OWL ontology
● Partitioned into:
● Core ontology
● Supplementary modules: types, integrity verification
May 14, 2010 The Provenance Vocabulary 3
4. Overview of the Vocabulary
May 14, 2010 The Provenance Vocabulary 4
5. Example
< > a prv:DataItem ;
foaf:primaryTopic <http://example.org/gene/0030840> .
prv:createdBy [
a prv:DataCreation ;
prv:performedAt "2010-03-01...00:00"^^xsd:dateTime ;
prv:performedBy <http://example.org/triplify> ;
prv:usedGuideline _:a ;
prv:usedData _:b ] .
<http://example.org/triplify> a prv:NonHumanActor ;
rdfs:comment "Instance of Triplify V0.5" ;
prv:operatedBy <http://olafhartig.de/foaf.rdf#olaf> .
The data item was created by a process, performed at a given time and
performed by a service ex:triplify that was operated by myfoaf:olaf.
May 14, 2010 The Provenance Vocabulary 5
6. Example cont.
_:a a prvTypes:TriplifyConfiguration , prv:CreationGuideline;
prv:createdBy [ a prv:DataCreation ;
prv:performedBy <http://olafhartig.de/foaf.rdf#olaf> ] .
_:b a prv:DataItem ;
prv:retrievedBy [
a prv:DataAccess ;
prv:performedAt "2010-03-01T12...00:00"^^xsd:dateTime ;
prv:performedBy <http://example.org/triplify> ;
prv:accessedService [
a prv:DataProvidingService , prvTypes:JDBCService ;
foaf:homepage <http://flybase.org/> ]
].
The source data item _:b –used to create the data item described before–
was retrieved by ex:triplify by accessing a public JDBC access point.
May 14, 2010 The Provenance Vocabulary 6
7. Design Principles
● Usability and understandability
● No specific granularity prescribed
● void:Dataset rdfs:subClassOf prv:DataItem
● rdf:Statement rdfs:subClassOf prv:DataItem
● Other vocabularies for more detailed
descriptions of certain aspects
● OPMV, PML, HTTP vocab, Changeset, etc.
● Schema-level links to related Vocabularies
● e.g. prv:Actor owl:equivalentClass foaf:Agent
May 14, 2010 The Provenance Vocabulary 7
8. Provenance-enabled Publication
● Metadata components
for widely used Linked
Data publishing tools
● Triplify
● Pubby
● D2R Server
● Automatic generation
of provenance metadata
● Simple configuration
May 14, 2010 The Provenance Vocabulary 8
9. Future Work
● Alignment with other provenance-related
vocabularies and models
● Additional modules for specific aspects that
are not covered by other vocabularies
● Integration in other publication tools
May 14, 2010 The Provenance Vocabulary 9
10. These slides have been created by
Jun Zhao and Olaf Hartig
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 License
(http://creativecommons.org/licenses/by-sa/3.0/)
May 14, 2010 The Provenance Vocabulary 10
11. Idea for a Mapping to OPM <>
wasGeneratedBy(prv:DataCreation)
_:b
wasGeneratedBy(prv:retrievedBy)
or better used(prv:usedData)
wasGeneratedBy(prv:DataAccess) ?
used(prv:usedGuideline)
wasControlledBy(prvTypes:DataCreatingService)
_:a
wasControlledBy(prv:DataAccessor) or better
or better wasControlledBy(prv:performedBy) ?
wasControlledBy(prv:performedBy) ?
ex:triplify
wasControlledBy(prv:DataProvidingService)
or better myfoaf:olaf wasGeneratedBy(prv:DataCrea
wasControlledBy(prv:accessedService) ?
wasControlledBy(prvTypes:DataCreatingEntity)
May 14, 2010 The Provenance Vocabulary 11