PROV Ontology (PROV-O)

The PROV Ontology (PROV-O) expresses the PROV Data Model using the OWL2 Web Ontology Language, providing a set of classes, properties, and restrictions for representing and interchanging provenance information. It captures the complete lifecycle of entities, activities, and agents involved in generating data across different systems and contexts. PROV-O enables formal representation of who created what, when they created it, and under what circumstances, supporting accountability and reproducibility in data-intensive research. The ontology is designed to be generic enough for diverse applications while allowing specialization for specific domains through extension mechanisms. PROV-O facilitates automated provenance tracking and reasoning, enabling systems to verify data quality, authenticity, and compliance with policies. The ontology is widely used in scientific workflows, data management systems, and enterprise information governance.

Example Usage: Annotate a dataset’s provenance with PROV-O terms to document that entity X was generated by activity Y using agent Z as input, with timestamps and qualifications about how the transformation occurred, enabling complete traceability and reproducibility of data.

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