-
Notifications
You must be signed in to change notification settings - Fork 1
PROV
The PROV standards cover a suite of documents for exchanging information about the origin of something on the web, including details about how data was created (e.g. the collection mechanism or the source it was derived from) as well as who was involved in its creation. You can use these details when you are making certain decisions, such as whether to trust a particular piece of data or whether you are legally allowed to view it according to whatever compliance rules govern access.
The standards are very broad and include detailed information about the core abstract data model and some specifications for how to produce and consume provenance querying services... however the part that is most relevant to us here is the ontology, which is abbreviated in the specs to PROV-O. At the heart of the data model are a trio of important classes: Entity
, Activity
and Agent
.
- Entities represent anything in the world (physical, digital or otherwise) that could conceivably be associated with provenance information. It is possible for a particular entity's provenance to reference other entities - in the case of a research paper for example, an author may cite other sources as being used in the creation of their own.
- Activities represent the actions involved in a particular entity's creation, which can be performed either manually or automatically. This could include things like the compilation of a piece of software by an automated process, or the authorship of a particular text by a particular person.
- Agents represent the things doing the creation, which again is not limited to being a person and can include things like software or organisations. PROV uses the word "associated" to describe the relationship of an agent to an activity if that agent has some form of responsibility over that activity.
The specification also explains how these three core classes should relate to each other - for example how an Entity
can be generatedBy
an Activity
, and how an activity can be associatedWith
an Agent
. Much of this information is enshrined in an OWL ontology maintained by the Provenance Working Group.
PROV can be used to describe the provenance of anything, and many other vocabs recommend using it (such as DCAT). PROV does not provide any more specific classes when it comes to activities, entities and agents - the idea is that you can include provenance information on any linked data by enriching that data with the PROV ontology.
The following example describes the musical Rent, which was written by Jonathan Larson but was inspired by the opera "La Bohème" by Giacomo Puccini, which was itself inspired by the book "Scenes of Bohemian Life" by Henri Murger.
@prefix : <http://www.example.com> .
@prefix prov: <http://www.w3.org/ns/prov#> .
# Agents
:Jonathan_Larson a prov:Agent .
:Giacomo_Puccini a prov:Agent .
:Henri_Murger a prov:Agent .
# Activities
:writing a prov:Activity .
:Rent a prov:Entity ;
prov:wasAttributedTo :Jonathan_Larson ;
prov:wasGeneratedBy :writing ;
prov:wasDerivedFrom :La_bohème .
:La_bohème a prov:Entity ;
prov:wasAttributedTo :Giacomo_Puccini ;
prov:wasGeneratedBy :writing ;
prov:wasDerivedFrom :Scenes_of_Bohemian_Life .
:Scenes_of_Bohemian_Life a prov:Entity ;
prov:wasGeneratedBy :writing ;
prov:wasAttributedTo :Henri_Murger .
© Crown Copyright GCHQ 2024 - This content is licensed under the Open Government License 3.0