Skip to content

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