PROV-O, the W3C provenance ontology
PROV-O is the vocabulary for recording where a statement came from and what produced it. It is the part of a knowledge layer that lets an agent say where a claim came from, and lets a reviewer check that answer.
What it is
PROV-O is the PROV Ontology: a W3C Recommendation, published 30 April 2013, that expresses the PROV data model as an OWL 2 ontology. It provides the classes, properties and restrictions needed to represent and interchange provenance information produced by different systems in different contexts. Every term sits in a single namespace, http://www.w3.org/ns/prov#.
Three classes carry the model. An prov:Entity is a thing with some fixed aspects — physical, digital or conceptual. An prov:Activity is something that occurs over a period of time and acts upon or with entities, consuming, processing or generating them. An prov:Agent is something that bears some form of responsibility for an activity, for the existence of an entity, or for another agent's activity.
The relations between them are the ones an audit asks about: prov:wasGeneratedBy (which activity produced this), prov:used (what an activity drew on), prov:wasDerivedFrom (what this came out of), prov:wasAttributedTo (who it is credited to), and prov:actedOnBehalfOf (on whose behalf an agent acted).
What it gives the knowledge layer
Provenance is the record of where a statement came from and what produced it. In a knowledge layer, that record is what makes a claim auditable: an agent can return a structured answer to "where did this come from" instead of a sentence, and a reviewer can walk the chain back to a source and a process.
It also gives the consuming side something to filter on. A system can require that a claim derive from an approved source, refuse a claim whose attribution is unknown, or show the derivation when a user asks why an answer looks the way it does. Without that record, grounding is a promise rather than a property.
Where the spec lives
The specification is published by the W3C at w3.org/TR/prov-o, alongside the other documents in the PROV family: the data model (PROV-DM), the notation (PROV-N) and a primer.
PROV-O is an RDF vocabulary, so it is read together with RDF 1.1 Concepts and Abstract Syntax, which defines the graph model and the terms — IRIs, blank nodes, literals — that the ontology is written in.
What it does not solve
Provenance records origin, not truth. A carefully described derivation from a wrong source is still wrong, and PROV-O will describe it faithfully.
Nor does it record currentness. A provenance graph can tell you which version of a document a claim was derived from; it does not tell you whether a newer version exists or whether the one you hold has been superseded. Versioning and deprecation are separate layers — see Mementos for the retrieval of prior states, and knowledge graphs for the shape the claims themselves live in.
Permissions are also outside the model. PROV-O can record who asserted something and on whose behalf; it cannot record whether the reader was allowed to see it.
FAQ
It describes provenance: the entities, activities and agents involved in producing something, and the relations between them. The vocabulary is written as an OWL 2 ontology for use with RDF.
No. It records where the claim came from and what produced it. Whether the source was right is a separate question that the provenance graph does not answer.
No. An entity may be physical, digital or conceptual, an activity is any process over a period of time, and an agent may be a person, an organisation or a software agent.
A source URL is one edge of what PROV-O describes. It does not say which process produced the fact, when, from which version of the source, or on whose behalf — and those are the fields an audit asks for.