Skip to content

PROV & SSN/SOSA mapped to BFO-ISO, RO, & CCO

License

Notifications You must be signed in to change notification settings

BFO-Mappings/PROV-to-BFO

Repository files navigation

DOI Test PROV-BFO Mapping Changes

PROV - BFO, RO, CCO Mappings

The Provenance Ontology (PROV-O) is a World Wide Web Consortium (W3C) recommended ontology used to structure data about provenance across a wide variety of domains. Basic Formal Ontology (BFO) is a top-level ontology ISO/IEC standard used to structure a wide variety of ontologies, such as Relation Ontology (RO) and the Common Core Ontologies (CCO). To enhance interoperability between these two ontologies, their extensions, and data organized by them, this repo includes a set of alignments that were created according to specific criteria which prioritize semantic and logical principles.

For more information, read: "A semantic approach to mapping the Provenance Ontology to Basic Formal Ontology".

Usage

PROV-BFO

PROV-RO

PROV-CCO

Example Usage

  1. Import terms from the ontologies that you want to use in your ontology.
  2. Import one or more of the mapping files.
  3. Use a semantic reasoner or SPARQL queries on your ontology to generate new inferences about data encoded in your ontology.

Development

  • Editor's development version here. This file is used only for development, not intended for production. It contains imports of BFO, CCO, RO, each and all canonical example instances from the PROV-O docs to test with. Open this file in Protege to view the mapping in full context of each aligned ontology. Test this file to ensure consistency among the extensions.

Scope

  • Every class and object property from PROV-O and its extensions is mapped to some class or object property from BFO, RO, or CCO.

  • The mappings use subsumption and equivalence relations either directly with RDFS and OWL, or indirectly with SWRL rules and property chain axioms. Additional SKOS mappings are provided for extra commentary.

  • The following PROV namespaces have been (1) mapped in the mapping files, (2) imported in the editors file, and (3) all Turtle-serialized canonical examples from each have been loaded as instances in the editors file for testing:

  • Bonus mappings between BFO and the SOSA (Sensor, Observation, Sample, and Actuator) ontology are possible, due to the SOSA-PROV Mapping.

Methods

Development Dependencies

  • The version of each PROV-O, BFO, RO, and CCO file is specified in the owl:imports of the editor's file prov-mappings-edit.ttl.

  • The following W3C semantic web technologies are used to represent the mappings and the mapping criteria:

    • RDF version 1.1, 25 February 2014
    • RDF Schema version 1.1, 25 February 2014
    • OWL version 2, 11 December 2012
    • RDF Turtle version 1.1, 25 February 2014
    • SPARQL version 1.1, 21 March 2013
    • SWRL version, 21 May 2004
  • The following tools are used to develop and evaluate the mappings:

Development Process

  1. A separate RDF Turtle file is created to extend each ontology with a set of mappings.

  2. All mappings and ontologies are imported into the editor's file prov-mappings-edit.ttl to help visualize the mappings using Protege. To ensure tractability of reasoning, RO terms that are referenced, along with their logical dependencies, are extracted and imported separately.

  3. A mapping file adds triples which relate terms from each ontology using the following "mapping" predicates: rdfs:subClassOf, rdfs:subPropertyOf, owl:equivalentClass, and owl:equivalentProperty.

    • SWRL rules and property chain axioms are used to represent more complex, indirect relations.
    • SKOS relations are used for extra commentary.
    • OWL annotation axioms encode each mapping with justifications as rdfs:comment and other SSSOM metadata.
  4. SPARQL queries are used for finding "unmapped" classes and object properties, and also "candidate" superproperties. The HermiT reasoner is used to check consistency and materialize inferences for various development tasks.

  5. Mappings for each ontology are encoded as separate extensions to maximize compatibility and minimize dependencies for users, following conventions from the PROV-DC (Dublin Core) mapping.

Testing

  • All example instances from the PROV-O documentation and its extensions are temporarily imported into the extended ontology. The HermiT reasoner is used to check if the example instance data is consistent with the extended ontology.

  • ROBOT runs HermiT and also SPARQL queries for evaluating the mappings. A SPARQL query that formalizes the mapping criteria is executed to check whether any mappings are missing.

  • How to run tests automatically:

    • Push commits to this Github repo, and the Makefile tests will be triggered in Github Workflow files
  • How to run tests manually:

    • Requirements: GNU Make
    • Run make from the src directory, or make -C src from this directory
    • Alternatively, run the commands defined within the Makefile.

Release

  • Release files are indicated with -directmappings prefix in the file names. These are edited and annotated directly, and imported in the Editor's file for development and testing.
  • Turtle (.ttl) versions of the release are currently not built automatically in order to ensure precise formatting, but RDF/XML versions could be automatically built from the Turtle versions.
  • Release files do not include imports of the ontologies they map. Why? First, because many terms in the BFO ontologies are not used or relevant to the mappings. Second, because users should not need to import irrelevant terms from any ontology (including PROV ontologies) for their use cases.

How to cite

Please cite with the following reference:

Prudhomme, T., De Colle, G., Liebers, A., Sculley, A., Xie, P., Cohen, S., & Beverley, J. 
A semantic approach to mapping the Provenance Ontology to Basic Formal Ontology.
Sci Data 12, 282 (2025). https://doi.org/10.1038/s41597-025-04580-1

An archive of this repository can be referenced with: https://doi.org/10.5281/zenodo.11338700