id: https://concepts.datalad.org/s/flat-prov/unreleased
name: flat-prov-schema
version: UNRELEASED
status: eunal:concept-status/DRAFT
title: FLAT provenance schema
description: |
  This schema provides the majority of the terms and relationships defined by
  [PROV-O](https://www.w3.org/TR/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](about).

  The schema definition is available as

  - [JSON-LD context](../unreleased.context.jsonld)
  - [LinkML YAML](../unreleased.yaml)
  - [LinkML YAML (static/resolved)](../unreleased.static.yaml)
  - [OWL TTL](../unreleased.owl.ttl)
  - [SHACL TTL](../unreleased.shacl.ttl)

comments:
  - ALL CONTENT HERE IS UNRELEASED AND MAY CHANGE ANY TIME

license: CC-BY-4.0

prefixes:
  dash: http://datashapes.org/dash#
  dcterms: http://purl.org/dc/terms/
  dlflat: https://concepts.datalad.org/s/flat/unreleased/
  dlflatprov: https://concepts.datalad.org/s/flat-prov/unreleased/
  dlidentifiers: https://concepts.datalad.org/s/identifiers/unreleased/
  dlrelationsmx: https://concepts.datalad.org/s/relations-mixin/unreleased/
  dlschemas: https://concepts.datalad.org/s/
  dlspatialmx: https://concepts.datalad.org/s/spatial-mixin/unreleased/
  dltemporalmx: https://concepts.datalad.org/s/temporal-mixin/unreleased/
  dlthings: https://concepts.datalad.org/s/things/v1/
  dltypes: https://concepts.datalad.org/s/types/v1/
  eunal: http://publications.europa.eu/resource/authority/
  foaf: http://xmlns.com/foaf/0.1/
  linkml: https://w3id.org/linkml/
  obo: http://purl.obolibrary.org/obo/
  owl: http://www.w3.org/2002/07/owl#
  prov: http://www.w3.org/ns/prov#
  rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
  rdfs: http://www.w3.org/2000/01/rdf-schema#
  sh: http://www.w3.org/ns/shacl#
  skos: http://www.w3.org/2004/02/skos/core#
  w3ctr: https://www.w3.org/TR/
  xsd: http://www.w3.org/2001/XMLSchema#

default_prefix: dlflatprov

emit_prefixes:
  - dlflat
  - dlflatprov
  - dlidentifiers
  - dlrelationsmx
  - dlspatialmx
  - dltemporalmx
  - dlthings
  - dltypes
  - rdf
  - rdfs
  - skos
  - xsd

imports:
  - dlschemas:flat/unreleased
  - dlschemas:prov-mixin/unreleased
  - dlschemas:relations-mixin/unreleased
  - dlschemas:spatial-mixin/unreleased
  - dlschemas:temporal-mixin/unreleased

classes:
  Activity:
    is_a: FlatThing
    mixins:
      - ActivityMixin
    description: >-
      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.
    exact_mappings:
      - prov:Activity

  Agent:
    is_a: FlatThing
    mixins:
      - AgentMixin
    description: >-
      Something that bears some form of responsibility for an activity
      taking place, for the existence of an entity, or for another
      agent's activity.
    exact_mappings:
      - prov:Agent

  Entity:
    is_a: FlatThing
    mixins:
      - EntityMixin
    description: >-
      A physical, digital, conceptual, or other kind of thing with some
      fixed aspects; entities may be real or imaginary.
    slot_usage:
      alternate_of:
        range: Entity
      specialization_of:
        range: Entity
    exact_mappings:
      - prov:Entity
