.. SPDX-FileCopyrightText: 2026 German Aerospace Center (DLR) .. SPDX-FileContributor: Benjamin Moritz Bauer .. .. SPDX-License-Identifier: MIT About Provenance ================ The W3C defines provenance as follows: *Provenance is defined as a record that describes the people, institutions, entities and activities involved in producing, influencing, or delivering a piece of data or a thing.* By recording the provenance, authors can be recognised and critical analyses of the origin of objects can be carried out. The analyses can then be used to make statements about the quality, reliability and trustworthiness of the information used. PROV-Datamodel -------------- The PROV-Datamodel (PROV-DM) is the conceptual, domain-independent data model designed by the W3C for the standardised implementation of provenance. One aim of standardisation is to make provenance processable for machines in different ways. At its core, the datamodel describes the use and production of entities by activities, which may be influenced in various ways by agents. The core structures are defined as follows: - An **entity** is a physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary. - An **activity** is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities. - An **agent** is something that bears some form of responsibility for an activity taking place, for the existence of an entity, or for another agent's activity. Additionally there are seven core relations: - *Generation* is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. - *Usage* is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. - A *derivation* is a transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity. - *Communication* is the exchange of some unspecified entity by two activities, one activity using some entity generated by the other. - *Attribution* is the ascribing of an entity to an agent. - An activity *association* is an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. - *Delegation* is the assignment of authority and responsibility to an agent (by itself or by another agent) to carry out a specific activity as a delegate or representative, while the agent it acts on behalf of retains some responsibility for the outcome of the delegated work. The content of this section cites `PROV-DM - The PROV Data Model`_. .. _PROV-DM - The PROV Data Model: https://www.w3.org/TR/2013/REC-prov-dm-20130430/ How to record provenance in your project ---------------------------------------- Before recording provenance in your project, you need to be sure about the questions you want to answer. Questions that fit to an example application can be found in :ref:`example-questions`. After that, you need to be sure which models you want to track and whether they belong to the entities or agents. There can also be edge cases where you have objects that usually would be entities because they represent data. But in some cases these objects represent real persons, e.g. students. Tracking them as agents can be more rational then. More information can be found in the sections :ref:`config-entities` and :ref:`config-agents`. If you have decided on the models that you want to track, you need to define the activities you want to track. More information can be found in :ref:`config-activities`