Sydney Cohen, Giacomo De Colle, Austin Liebers, Tim Prudhomme, Alec Sculley, Karl Xie
- Editor's development version here. This contains imports of BFO, CCO, RO, and 91 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.
- PROV-BFO Release version here. This contains only the mapped and extended terms from BFO. Use this file in production.
- PROV-RO Release version here. This contains only the mapped and extended terms from RO. Use this file in production.
- PROV-CCO Release version here. This contains only the mapped and extended terms from CCO. Use this file in production.
-
The mapping goal is to subsume every PROV-O term under some BFO (Basic Formal Ontology) or RO (Relation Ontology) term. A separate extension which maps PROV-O to CCO (Common Core Ontologies) is also proposed.
-
This mapping aligns PROV-O to these top-level ontologies to promote interoperability between PROV-O users and BFO users.
-
At the same time, the mapping is encoded as an extension to maximize compatibility and minimize dependencies for existing PROV-O users.
-
The mapping follows conventions from the PROV-DC (Dublin Core) mapping by serializing as an RDF Turtle extension of PROV.
-
Further BFO interpretations of PROV-O are also offered:
- An extension of
prov:Agent
using a new anonymous instance of BFO "role", which is realized by an instance ofprov:Activity
. - An extension of
prov:StartedAtTime
andprov:EndedAtTime
in terms of BFO "temporal region".
- An extension of
-
The following PROV namespaces have been (1) mapped in the mapping files, (2) imported in the editors file, and (3) all Turtle-serialized examples from each have been loaded as instances in the editors file for testing:
- PROV-O Ontology
- PROV Access and Query Ontology & Examples
- PROV Data Dictionary Ontology & Examples
- PROV Linking Across Provenance Bundles Ontology & Examples
- PROV Inverses Ontology
- Automated entailment of mappings for inverse object properties is supported by OWL-DL and OWL-QL. For example,
prov:wasMemberOf
may be automatically inferred as a subproperty of BFO "part of" becauseprov:hadMember
is a subproperty of BFO "has part" and these PROV terms are inverses of each other.
- Automated entailment of mappings for inverse object properties is supported by OWL-DL and OWL-QL. For example,
- PROV Dublin Core http://www.w3.org/ns/prov-dc# Ontology & Examples
- A new PROV-BFO extension ontology is created.
- BFO and RO are temporarily imported into PROV-BFO to help visualize the mappings in the class hierarchy using Protege
- For testing and reasoning, only terms we use are extracted from RO -- plus their logical dependencies using the MIREOT strategy with OntoFox.
- The list of RO terms to import is specified in the OntoFox_inputs folder.
- The subset of RO extracted from OntoFox is stored locally in the OntoFox_outputs folder. This subset is imported into the editor's version of the mapping.
- SPARQL queries are used for finding unsubsumed classes and object properties, and also "candidate" superproperties.
- PROV-BFO adds triples which relate terms from each ontology using the following "mapping" predicates:
rdfs:subClassOf
,rdfs:subPropertyOf
, andowl:equivalentClass
, similar to the PROV-DC extension.
- (Previously, the alignment mappings were added directly to a new version of PROV. These are kept in this folder for historical documentation but should not be used.)
- The mappings should include the following metadata:
- A justification for each mapping
- A confidence score for each mapping
- This metadata could be specified either with some standardized annotation properties or an SSSOM template
- The SSSOM template is generated from the mapping file using a SPARQL query and the Makefile
-
91 example instances from the PROV-O documentation 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
-
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 PROV directory, ormake -C PROV
from the BFO-Mappings directory
- 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 not currently automatically built in order to ensure precise formatting, but RDF/XML versions could be automatically built from the Turtle versions.