PROV Ontology (PROV-O)

The PROV Ontology (PROV-O) is an OWL2 ontology for representing provenance information according to the W3C PROV data model [1] [2]. It provides classes, properties, and restrictions for describing how entities, activities, and agents are involved in the creation, transformation, usage, and management of data and other resources [1].

PROV-O captures the lifecycle of information by representing what was generated, which activity generated it, which entities were used, and which agents were responsible or associated with the process [1]. This allows systems to formally describe who created or modified a resource, when it was created, what inputs were used, and under what circumstances the resource was produced [1].

The ontology is generic enough to support provenance modeling across different domains, while also allowing domain-specific extensions for specialized provenance requirements [1]. Recent ontology-alignment work has also explored mappings between PROV-O, Basic Formal Ontology (BFO), and Common Core Ontologies (CCO), supporting improved semantic interoperability and provenance integration across ontology-based systems [2].

PROV-O is widely used in scientific workflows, data management systems, linked data applications, digital repositories, and enterprise information governance to support traceability, accountability, reproducibility, data quality assessment, and policy compliance [1] [2].

Example Usage: Annotate a dataset’s provenance with PROV-O terms to show that a data entity was generated by a specific activity, used one or more input entities, and was associated with a responsible agent. Adding timestamps and qualified relations makes it possible to trace how the dataset was produced, transformed, and validated, supporting reproducibility and data accountability [1].

Metrics & Statistics

Graph Statistics

Total Nodes

417

Total Edges

1100

Root Nodes

26

Leaf Nodes

248

Knowledge Coverage Statistics

Classes

39

Individuals

0

Properties

50

Hierarchical Metrics

Maximum Depth

6

Minimum Depth

0

Average Depth

2.21

Depth Variance

1.98

Breadth Metrics

Maximum Breadth

59

Minimum Breadth

5

Average Breadth

30.29

Breadth Variance

409.63

LLMs4OL Dataset Statistics

Term Types

0

Taxonomic Relations

39

Non-taxonomic Relations

4

Average Terms per Type

0.00

Usage Example

Use the following code to import this ontology programmatically:

from ontolearner.ontology import PROV

ontology = PROV()
ontology.load("path/to/PROV-ontology.owl")

# Extract datasets
data = ontology.extract()

# Access specific relations
term_types = data.term_typings
taxonomic_relations = data.type_taxonomies
non_taxonomic_relations = data.type_non_taxonomic_relations

References