FLAT provenance schema
This schema provides the majority of the terms and relationships defined by PROV-O, with the following exceptions and deviations. FLAT stands for Flexbile Low-complexity Annotation Technique.
All this schema provides are the three foundational PROV-O classes: Agent,
Activity, and Entity. For many real-world use cases it is likely more
practical to use the prov-mixin schema mixin (that is the key component
here) directly, rather than building off of this schema.
More information may be available on the schema's about page.
The schema definition is available as
URI: https://concepts.datalad.org/s/flat-prov/unreleased
Name: flat-prov-schema
Schema Diagram
erDiagram Activity { string display_label string display_note stringList editorial_note uriorcurie pid uriorcurieList broad_mappings uriorcurieList close_mappings string description uriorcurieList exact_mappings uriorcurieList narrow_mappings uriorcurieList related_mappings NodeUriOrCurie schema_type } ActivityInfluence { } ActivityMixin { } Agent { string display_label string display_note stringList editorial_note uriorcurie pid uriorcurieList broad_mappings uriorcurieList close_mappings string description uriorcurieList exact_mappings uriorcurieList narrow_mappings uriorcurieList related_mappings NodeUriOrCurie schema_type } 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 { } Checksum { uriorcurie creator HexBinary notation NodeUriOrCurie schema_type } Communication { } ComputedIdentifier { uriorcurie creator string notation NodeUriOrCurie schema_type } DOI { string schema_agency uriorcurie creator string notation NodeUriOrCurie schema_type } Delegation { } Derivation { } End { W3CISO8601 at_time } Entity { string display_label string display_note stringList editorial_note uriorcurie pid uriorcurieList broad_mappings uriorcurieList close_mappings string description uriorcurieList exact_mappings uriorcurieList narrow_mappings uriorcurieList related_mappings NodeUriOrCurie schema_type } EntityInfluence { } EntityMixin { } FlatThing { string display_label string display_note stringList editorial_note uriorcurie pid uriorcurieList broad_mappings uriorcurieList close_mappings string description uriorcurieList exact_mappings uriorcurieList narrow_mappings uriorcurieList related_mappings NodeUriOrCurie schema_type } Generation { W3CISO8601 at_time } Identifier { uriorcurie creator string notation NodeUriOrCurie schema_type } Influence { } InstantaneousEventMixin { W3CISO8601 at_time } Invalidation { W3CISO8601 at_time } IssuedIdentifier { string schema_agency uriorcurie creator string notation NodeUriOrCurie schema_type } 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 } Activity ||--|o End : "ended" Activity ||--|o Start : "started" Activity ||--}o Annotation : "annotations" Activity ||--}o Association : "associated_with" Activity ||--}o AttributeSpecification : "attributes" Activity ||--}o Communication : "informed_by" Activity ||--}o Identifier : "identifiers" Activity ||--}o Influence : "influenced_by" Activity ||--}o Statement : "characterized_by" Activity ||--}o Thing : "relations" Activity ||--}o Usage : "used" 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" Agent ||--|o Delegation : "delegated_by" Agent ||--}o Annotation : "annotations" Agent ||--}o AttributeSpecification : "attributes" Agent ||--}o Identifier : "identifiers" Agent ||--}o Influence : "influenced_by" Agent ||--}o Statement : "characterized_by" Agent ||--}o Thing : "relations" 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" Entity ||--|o Entity : "alternate_of" Entity ||--|o Entity : "specialization_of" Entity ||--|o Generation : "generated_by" Entity ||--|o Invalidation : "invalidated_by" Entity ||--|o Quotation : "quoted_from" Entity ||--|o Revision : "revision_of" Entity ||--}o Annotation : "annotations" Entity ||--}o AttributeSpecification : "attributes" Entity ||--}o Attribution : "attributed_to" Entity ||--}o Derivation : "derived_from" Entity ||--}o Identifier : "identifiers" Entity ||--}o Influence : "influenced_by" Entity ||--}o Statement : "characterized_by" Entity ||--}o Thing : "relations" 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" FlatThing ||--}o Annotation : "annotations" FlatThing ||--}o AttributeSpecification : "attributes" FlatThing ||--}o Identifier : "identifiers" FlatThing ||--}o Statement : "characterized_by" FlatThing ||--}o Thing : "relations" 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... |
| 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 ... |
| 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 |
| FlatThing | Thing variant that provides a basis for the annotation and curation of more... |
| 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... |
| Entity | A physical, digital, conceptual, or other kind of thing with some fixed aspec... |
| 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 |
| 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 |
| 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 |
| display_label | Label that can be shown when the metadata record is displayed as an item |
| display_note | Note that can be shown when the record is displayed as an item |
| editorial_note | A comment about a metadata record either providing additional information for... |
| 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... |
| identifiers | An unambiguous reference to the subject within a given context |
| 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... |
| notation | String of characters such as "T58:5" or "30:4833" used to uniquely identify a... |
| 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_agency | Name of the agency that issued an identifier |
| 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 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 |
|---|---|