Collection of provenance properties for use in schemas
This schema mixin provides the majority of the terms and relationships defined by PROV-O, with the following exceptions and deviations. It is implemented as a mixin to be able to flexibly add provenance-focused interfaces to classes that are part of a topical class hierarchy already.
All relationships are implemented using the "qualified relation" pattern, but
combined with properties that are named after their (shortened) "binary"
equivalent. For example, a wasDerivedFrom is implemented as the
derived_from slot, and has the Derivation association class as its
range. This means that qualifying properties of a relationship are
consolidated into the respective relationship class. Consequently, there is
no equivalent of, for example, generatedAtTime. Instead, the time needs to
be annotated via the at_time slot of Generation.
All relationship classes uniformly use an object slot to reference the
respective entity, agent, or activity. PROV-O's actedOnBehalfOf is named
delegated_by for consistency with the association class Delegation.
No inverse properties are defined, i.e. there is invalidated_by, but not
invalidated.
This schema does not implement support for PROV bundles.
There is no support for annotating an Influence with an unspecific
Activity (hadActivity, optional in PROV-O). For describing, for example,
the generating activity in a derivation, generated_by is provided.
The annotation of Agent and Entity instances with a location (PROV-O
atLocation) is not supported. The idea of a (single) location for these
concepts is at odds with the core approach of this schema to use persistent
identifiers for all Things. However, at_location is supported within
Start and End that are available to annotate Activity, and
EntityInfluence like Usage with temporal and spatial locators.
There is not direct support for the PROV-O classes Location, Plan,
(and with it hadPlan), Role, and SoftwareAgent. The Thing class can
be used to express these concepts in a generic fashion. Dedicated support
is left to more application-specific schemas that require these concepts.
The PROV-O concept of PrimarySource, as a special case of a Derivation
is not supported. Use the role annotation to identify an influencing entity
in a Derivation as a "primary source".
More information may be available on the schema's about page.
The schema definition is available as
URI: https://concepts.datalad.org/s/prov-mixin/unreleased
Name: prov-mixin-schema
Schema Diagram
erDiagram ActivityInfluence { } ActivityMixin { } AgentInfluence { } AgentMixin { } Annotation { string annotation_value } Association { } AttributeSpecification { uriorcurieList broad_mappings uriorcurieList close_mappings string description uriorcurieList exact_mappings uriorcurieList narrow_mappings uriorcurieList related_mappings NodeUriOrCurie schema_type uriorcurie range string value } Attribution { } Communication { } Delegation { } Derivation { } End { W3CISO8601 at_time } EntityInfluence { } EntityMixin { } Generation { W3CISO8601 at_time } Influence { } InstantaneousEventMixin { W3CISO8601 at_time } Invalidation { W3CISO8601 at_time } Property { uriorcurie pid uriorcurieList broad_mappings uriorcurieList close_mappings string description uriorcurieList exact_mappings uriorcurieList narrow_mappings uriorcurieList related_mappings NodeUriOrCurie schema_type } Quotation { } Revision { } Start { W3CISO8601 at_time } Statement { } Thing { uriorcurie pid uriorcurieList broad_mappings uriorcurieList close_mappings string description uriorcurieList exact_mappings uriorcurieList narrow_mappings uriorcurieList related_mappings NodeUriOrCurie schema_type } ThingMixin { uriorcurieList broad_mappings uriorcurieList close_mappings string description uriorcurieList exact_mappings uriorcurieList narrow_mappings uriorcurieList related_mappings NodeUriOrCurie schema_type } Usage { W3CISO8601 at_time } ValueSpecification { uriorcurie range string value uriorcurie pid uriorcurieList broad_mappings uriorcurieList close_mappings string description uriorcurieList exact_mappings uriorcurieList narrow_mappings uriorcurieList related_mappings NodeUriOrCurie schema_type } ValueSpecificationMixin { uriorcurie range string value } ActivityInfluence ||--|o Thing : "object" ActivityInfluence ||--}o Thing : "roles" ActivityMixin ||--|o End : "ended" ActivityMixin ||--|o Start : "started" ActivityMixin ||--}o Association : "associated_with" ActivityMixin ||--}o Communication : "informed_by" ActivityMixin ||--}o Influence : "influenced_by" ActivityMixin ||--}o Usage : "used" AgentInfluence ||--|o Thing : "object" AgentInfluence ||--}o Thing : "roles" AgentMixin ||--|o Delegation : "delegated_by" AgentMixin ||--}o Influence : "influenced_by" Annotation ||--|o Thing : "annotation_tag" Association ||--|o Thing : "object" Association ||--}o Thing : "roles" AttributeSpecification ||--|| Property : "predicate" AttributeSpecification ||--}o Annotation : "annotations" AttributeSpecification ||--}o AttributeSpecification : "attributes" AttributeSpecification ||--}o Statement : "characterized_by" Attribution ||--|o Thing : "object" Attribution ||--}o Thing : "roles" Communication ||--|o Thing : "object" Communication ||--}o Thing : "roles" Delegation ||--|o Thing : "object" Delegation ||--}o Thing : "roles" Derivation ||--|o Generation : "generated_by" Derivation ||--|o Thing : "object" Derivation ||--}o Thing : "roles" Derivation ||--}o Usage : "used" End ||--|o Thing : "at_location" End ||--|o Thing : "object" End ||--}o Thing : "roles" EntityInfluence ||--|o Thing : "object" EntityInfluence ||--}o Thing : "roles" EntityMixin ||--|o Generation : "generated_by" EntityMixin ||--|o Invalidation : "invalidated_by" EntityMixin ||--|o Quotation : "quoted_from" EntityMixin ||--|o Revision : "revision_of" EntityMixin ||--|o Thing : "alternate_of" EntityMixin ||--|o Thing : "specialization_of" EntityMixin ||--}o Attribution : "attributed_to" EntityMixin ||--}o Derivation : "derived_from" EntityMixin ||--}o Influence : "influenced_by" Generation ||--|o Thing : "at_location" Generation ||--|o Thing : "object" Generation ||--}o Thing : "roles" Influence ||--|o Thing : "object" Influence ||--}o Thing : "roles" InstantaneousEventMixin ||--|o Thing : "at_location" Invalidation ||--|o Thing : "at_location" Invalidation ||--|o Thing : "object" Invalidation ||--}o Thing : "roles" Property ||--}o Annotation : "annotations" Property ||--}o AttributeSpecification : "attributes" Property ||--}o Statement : "characterized_by" Property ||--}o Thing : "relations" Quotation ||--|o Generation : "generated_by" Quotation ||--|o Thing : "object" Quotation ||--}o Thing : "roles" Quotation ||--}o Usage : "used" Revision ||--|o Generation : "generated_by" Revision ||--|o Thing : "object" Revision ||--}o Thing : "roles" Revision ||--}o Usage : "used" Start ||--|o Thing : "at_location" Start ||--|o Thing : "object" Start ||--}o Thing : "roles" Statement ||--|| Property : "predicate" Statement ||--|| Thing : "object" Thing ||--}o Annotation : "annotations" Thing ||--}o AttributeSpecification : "attributes" Thing ||--}o Statement : "characterized_by" Thing ||--}o Thing : "relations" ThingMixin ||--}o Annotation : "annotations" ThingMixin ||--}o AttributeSpecification : "attributes" ThingMixin ||--}o Statement : "characterized_by" Usage ||--|o Thing : "at_location" Usage ||--|o Thing : "object" Usage ||--}o Thing : "roles" ValueSpecification ||--}o Annotation : "annotations" ValueSpecification ||--}o AttributeSpecification : "attributes" ValueSpecification ||--}o Statement : "characterized_by" ValueSpecification ||--}o Thing : "relations"
Classes
| Class | Description |
|---|---|
| ActivityMixin | An activity is something that occurs over a period of time and acts upon or w... |
| AgentMixin | Something that bears some form of responsibility for an activity taking place... |
| Annotation | A tag/value pair with the semantics of OWL Annotation |
| AttributeSpecification | An attribute is conceptually a thing, but it requires no dedicated identifier... |
| EntityMixin | A physical, digital, conceptual, or other kind of thing with some fixed aspec... |
| Influence | Influence is the capacity of an entity, activity, or agent to have an effect ... |
| ActivityInfluence | ActivitiyInfluence is the capacity of an activity to have an effect on the ch... |
| Communication | Communication is the exchange of an entity by two activities, one activity us... |
| Generation | Generation is the completion of production of a new entity by an activity |
| Invalidation | Invalidation is the start of the destruction, cessation, or expiry of an exis... |
| AgentInfluence | AgentInfluence is the capacity of an agent to have an effect on the character... |
| Association | An activity association is an assignment of responsibility to an agent for an... |
| Attribution | Attribution is the ascribing of an entity to an agent |
| Delegation | Delegation is the assignment of authority and responsibility to an agent (by ... |
| EntityInfluence | EntityInfluence is the capacity of an entity to have an effect on the charact... |
| Derivation | A derivation is a transformation of an entity into another, an update of an e... |
| Quotation | A quotation is the repeat of (some or all of) an entity, such as text or imag... |
| Revision | A revision is a derivation for which the resulting entity is a revised versio... |
| End | End is when an activity is deemed to have been ended by an entity, known as t... |
| Start | Start is when an activity is deemed to have been started by an entity, known ... |
| Usage | Usage is the beginning of utilizing an entity by an activity |
| InstantaneousEventMixin | The PROV data model is implicitly based on a notion of instantaneous events (... |
| Statement | An RDF statement that links a predicate (a Property) with an object (a ... |
| Thing | The most basic, identifiable item |
| Property | An RDF property, a Thing used to define a predicate, for example in a `St... |
| ValueSpecification | A Thing that is a value of some kind |
| ThingMixin | Mix-in with the common interface of Thing and AttributeSpecification |
| ValueSpecificationMixin | Mix-in for a (structured) value specification |
Slots
| Slot | Description |
|---|---|
| about | A relation of an information artifact to the subject, such as a URL identifyi... |
| alternate_of | Two alternate entities present aspects of the same thing |
| annotation_tag | A tag identifying an annotation |
| annotation_value | The actual annotation |
| annotations | A record of properties of the metadata record on a subject, a collection of t... |
| associated_with | An activity association is an assignment of responsibility to an agent for an... |
| at_location | Associate the subject with a location |
| at_time | Time at which an instanteneous event takes place or took place |
| attributed_to | Attribution is the ascribing of an entity to an agent |
| attributes | Declares a relation that associates a Thing (or another attribute) with an ... |
| broad_mappings | A list of terms from different schemas or terminology systems that have broad... |
| characterized_by | Qualifies relationships between a subject Thing and an object Thing with ... |
| close_mappings | A list of terms from different schemas or terminology systems that have close... |
| conforms_to | An established standard to which the subject conforms |
| date_modified | Timepoint at which the subject was (last) changed, updated or modified |
| date_published | Timepoint at which the subject was (last) published |
| delegated_by | Delegation is the assignment of authority and responsibility to an agent (by ... |
| depends_on | The subject depends on object in some way |
| derived_from | A entity from which the subject was created through some kind of process |
| description | A free-text account of the subject |
| ended | End is when an activity is deemed to have been ended by an entity, known as t... |
| ended_at | End is when an activity is deemed to have been ended by some trigger |
| exact_mappings | A list of terms from different schemas or terminology systems that have ident... |
| generated_by | Identification of the process that led to the production of the subject entit... |
| influenced_by | Influence is the capacity of an entity, activity, or agent to have an effect ... |
| informed_by | Communication is the exchange of an entity by two activities, one activity us... |
| invalidated_by | Invalidation is the start of the destruction, cessation, or expiry of an exis... |
| kind | The nature of the subject |
| locator | A descriptive identifier that locates a resource within a containing resource |
| mappings | A list of terms from different schemas or terminology systems that have compa... |
| narrow_mappings | A list of terms from different schemas or terminology systems that have narro... |
| object | Reference to a Thing within a Statement |
| part_of | The entity that the subject is a part of |
| parts | A related resource that is included either physically or logically in the des... |
| pid | Persistent and globally unique identifier of a Thing |
| predicate | Reference to a Property within a Statement |
| quoted_from | A quotation is the repeat of (some or all of) an entity, such as text or imag... |
| range | Declares that the value of a Thing or AttributeSpecification are instance... |
| received_by | Indicates the person or authoritative body who has received something |
| related_mappings | A list of terms from different schemas or terminology systems that have relat... |
| relations | Declares an unqualified relation of the subject Thing to another Thing |
| revision_of | A revision is a derivation for which the resulting entity is a revised versio... |
| roles | Describes the function of an entity or agent (object) within the scope of a r... |
| same_as | Declares that the subject and an object are equal |
| schema_type | State that the subject is an instance of a particular schema class |
| specialization_of | An entity that is a specialization of another shares all aspects of the latte... |
| started | Start is when an activity is deemed to have been started by an entity, known ... |
| started_at | Start is when an activity is deemed to have been started by some trigger |
| used | Usage is the beginning of utilizing an entity by an activity |
| value | Value that is a direct representation of a thing |
| version_of | A related resource of which the described resource is a version, edition, or ... |
Enumerations
| Enumeration | Description |
|---|---|
Types
| Type | Description |
|---|---|
| Boolean | A binary (true or false) value |
| Curie | a compact URI |
| Date | a date (year, month and day) in an idealized calendar |
| DateOrDatetime | Either a date or a datetime |
| Datetime | The combination of a date and time |
| Decimal | A real number with arbitrary precision that conforms to the xsd:decimal speci... |
| Double | A real number that conforms to the xsd:double specification |
| EmailAddress | RFC 5322 compliant email address |
| Float | A real number that conforms to the xsd:float specification |
| HexBinary | hex-encoded binary data |
| Integer | An integer |
| Jsonpath | A string encoding a JSON Path |
| Jsonpointer | A string encoding a JSON Pointer |
| Ncname | Prefix part of CURIE |
| Nodeidentifier | A URI, CURIE or BNODE that represents a node in a model |
| NodeUriOrCurie | A type referencing an graph node |
| NonNegativeInteger | An integer |
| Objectidentifier | A URI or CURIE that represents an object in the model |
| Sparqlpath | A string encoding a SPARQL Property Path |
| String | A character string |
| Time | A time object represents a (local) time of day, independent of any particular... |
| Uri | a complete URI |
| Uriorcurie | a URI or a CURIE |
| W3CISO8601 | W3C variant/subset of IS08601 for specifying date(times) |
Subsets
| Subset | Description |
|---|---|