Schema for a generic (data) provenance annotation
This schema builds on the Thing
schema, and diversifies it to capture
the key provenance concepts Agent
, Activity
,
Entity
, and their relationships. It does that by drawing on (a
subset) of the PROV data model PROV-DM.
Central paradigm of the schema is the qualified relation
pattern.
The three Thing
derived key concepts Agent
, Activity
, and
Entity
build on the Thing
slot relations
(symmetric property) for
inline declaration of related things, and extend the basic means of
qualifying a relationship via characterized_by
and with provenance specific slots, and
qualified_relations
for declaring the roles of
related things.
Specifically the latter approach takes the place of all of the various
qualified*
properties defined in PROV
. Rather than supporting association
classes like prov:Derivation
or prov:Generation
, such relationships are
annotated by linking to things via slots like
derived_from
or
generated_by
, and characterizing the relationship
via qualified_relations
, and a (custom)
Role
declaration.
The schema is entity-centric, meaning that entity properties are preferred
over activity properties expressing the same (inverse) relationship. For
example, an entity's generated_by
is implemented,
but not an activity's generated
.
This schema also incorporates the schemas
The schema definition is available as
URI: https://concepts.datalad.org/s/prov/unreleased
Name: prov-schema
Schema Diagram
Classes
Class | Description |
---|---|
Annotation | A tag/value pair with the semantics of OWL Annotation |
AttributeSpecification | An attribute is conceptually a thing, but it requires no dedicated identifier... |
Identifier | An identifier is a label that uniquely identifies an item in a particular con... |
ComputedIdentifier | An identifier that has been derived from information on the identified entity |
Checksum | A Checksum is a value that allows to check the integrity of the contents of a... |
IssuedIdentifier | An identifier that was issued by a particular agent with a notation that has ... |
DOI | Digital Object Identifier (DOI; ISO 26324), an identifier system governed by ... |
Relationship | An association class for characterizing the relation between two things with ... |
TransientRelationship | A relationship that is valid or remains in place for a limited time |
Statement | An RDF statement that links a predicate (a Property ) with an object (a ... |
Thing | The most basic, identifiable item |
Activity | An activity is something that occurs over a period of time and acts upon or w... |
Agent | Something that bears some form of responsibility for an activity taking place... |
SoftwareAgent | Running software |
Entity | A physical, digital, conceptual, or other kind of thing with some fixed aspec... |
InstantaneousEvent | A moment of a transition from one particular state of the world to another |
Location | A location can be an identifiable geographic place (ISO 19112), but it can al... |
Property | An RDF property, a Thing used to define a predicate , for example in a `St... |
Role | A role is the function of a resource or agent with respect to a subject, in t... |
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 |
---|---|
acted_on_behalf_of | Assign the authority and responsibility for carrying out a specific activity ... |
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... |
creator | An agent responsible for making an entity |
date_modified | Timepoint at which the subject was (last) changed, updated or modified |
date_published | Timepoint at which the subject was (last) published |
derived_from | Derivation is a transformation of an entity into another, an update of an ent... |
description | A free-text account of the subject |
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 | Generation is the completion of production of a new entity by an activity |
identifiers | An unambiguous reference to the subject within a given context |
informed_by | Communication is the exchange of an entity by two activities, one activity us... |
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... |
notation | String of characters such as "T58:5" or "30:4833" used to uniquely identify a... |
object | Reference to a Thing within a Statement |
pid | Persistent and globally unique identifier of a Thing |
predicate | Reference to a Property within a Statement |
qualified_relations | Characterizes the relationship or role of an entity with respect to the subje... |
range | Declares that the value of a Thing or AttributeSpecification are instance... |
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 |
roles | Describes the function of an entity or agent (object) within the scope of a `... |
schema_agency | Name of the agency that issued an identifier |
schema_type | State that the subject is an instance of a particular schema class |
started_at | Start is when an activity is deemed to have been started by some trigger |
value | Value of a thing |
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 |
---|---|