prov-to-bfo

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

https://github.com/bfo-mappings/prov-to-bfo

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.7%) to scientific vocabulary

Keywords

applied-ontology bfo cco obo-relations obofoundry ontologies ontology-engineering owl prov-o
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: BFO-Mappings
  • License: cc0-1.0
  • Language: Makefile
  • Default Branch: main
  • Homepage:
  • Size: 2.41 MB
Statistics
  • Stars: 20
  • Watchers: 8
  • Forks: 6
  • Open Issues: 0
  • Releases: 5
Topics
applied-ontology bfo cco obo-relations obofoundry ontologies ontology-engineering owl prov-o
Created over 3 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

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.
  4. See the example ontology demonstrating the first two steps.

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

Owner

  • Name: BFO-Mappings
  • Login: BFO-Mappings
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
title: PROV-to-BFO
doi: 10.5281/zenodo.11338700
preferred-citation:
  type: article
  doi: 10.1038/s41597-025-04580-1
  title: A semantic approach to mapping the Provenance Ontology to Basic Formal Ontology
  journal: Sci Data
  volume: 12
  number: 282
  year: 2025
  authors:
  - given-names: Tim
    family-names: Prudhomme
    orcid: 'https://orcid.org/0000-0003-4143-6524'
  - given-names: Giacomo
    family-names: De Colle
    orcid: 'https://orcid.org/0000-0002-3600-6506'
  - given-names: Austin
    family-names: Liebers
    orcid: 'https://orcid.org/0009-0004-1692-3309'
  - given-names: Alec
    family-names: Sculley
    orcid: 'https://orcid.org/0000-0002-0369-1965'
  - given-names: Peihong
    family-names: Xie
    orcid: 'https://orcid.org/0009-0003-4542-1917'
  - given-names: Sydney
    family-names: Cohen
  - given-names: John
    family-names: Beverley
    orcid: 'https://orcid.org/0000-0002-1118-1738'

GitHub Events

Total
  • Create event: 6
  • Release event: 3
  • Issues event: 4
  • Watch event: 9
  • Delete event: 3
  • Issue comment event: 3
  • Push event: 7
  • Pull request event: 8
  • Fork event: 1
Last Year
  • Create event: 6
  • Release event: 3
  • Issues event: 4
  • Watch event: 9
  • Delete event: 3
  • Issue comment event: 3
  • Push event: 7
  • Pull request event: 8
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: about 8 hours
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: about 8 hours
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • tmprd (2)
  • giacomodecolle (1)
Pull Request Authors
  • tmprd (9)
  • avsculley (2)
  • acliebers (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/test-prov.yml actions
  • actions/cache/restore v3 composite
  • actions/cache/save v3 composite
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite