Skip to content

Updating CCO v1.4 or earlier to Align with CCO v1.5 and BFO 2020

Mark Jensen edited this page Jan 3, 2025 · 1 revision

Introduction

The purpose of this wiki is to document the changes made to CCO between v1.4 and v1.5. It is important for CCO to maintain alignment with the version of BFO that conforms to ISO/IEC 21838‑1.

  • CCO v1.4-2023-04-07 imported BFO 2.0 and a subset of the Relations Ontology (RO).
  • CCO v1.5-2024-02-14 imports BFO 2020 and no longer uses RO.

Most of the properties CCO imported from RO are replaced by BFO ones. There are five variations in total, two do not require mapping.

No mapping required:

  1. The RO term has no equivalent in BFO and is effectively deleted from CCO. E.g, obo:RO_0002000 [2D boundary of] currently has no equivalent property in BFO.
  2. Same IRI, different metadata, thus no changes to CCO. E.g., obo:BFO_0000054 [realized in] > obo:BFO_0000054 [has realization].

Mapping required:

  1. Direct one-to-one mapping. E.g., obo:RO_0000057 > obo:BFO_0000057 [has participant]. This includes five properties from CCO that are replaced by ones from BFO.
  2. Many-to-one, a specific property is replaced by a more general one. E.g., obo:RO_0000079 [function of] > obo:BFO_0000197 [inheres in]
  3. Conditional replacement. Two properties, obo:BFO_0000050 [part of] and obo:BFO_0000051 [has part], map to either occurrent- or continuant-specific versions of those properties in BFO2020.

Details

IRIs that do not need to be replaced:

1. No longer available in CCO
2. Same IRI

IRIs that need to replaced:

3. One-to-one
CCO properties replaced by BFO2020 ones:
4. Many to one:
5. Conditional:

Mappings:

For the direct replacements, either one-to-one or many-to-one, a mapping file can be used with a ROBOT command:

robot rename --input [path to file] --mappings ro-ero-to-bfo2020.csv --allow-missing-entities true --allow-duplicates true --output [output file name]

For the conditional replacements, depending on the size and format of the files you need to work with, a manual process may be easier than attempting to automate with SPARQL updates or a custom routine. Also note that the rename command does not delete property declarations, thus some manual editing or SPARQL may be needed to clean up after the mapping process. Please contact Mark Jensen for assistance.

Clone this wiki locally