-
Notifications
You must be signed in to change notification settings - Fork 61
Updating CCO v1.4 or earlier to Align with CCO v1.5 and BFO 2020
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.
- 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.
- Same IRI, different metadata, thus no changes to CCO. E.g., obo:BFO_0000054 [realized in] > obo:BFO_0000054 [has realization].
- 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.
- 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]
- 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.
IRIs that do not need to be replaced:
- http://purl.obolibrary.org/obo/RO_0001000 [derives from] > NA
- http://purl.obolibrary.org/obo/RO_0001001 [derives into] > NA
- http://purl.obolibrary.org/obo/RO_0001018 [contained in] > NA
- http://purl.obolibrary.org/obo/RO_0001019 [contains] > NA
- http://purl.obolibrary.org/obo/RO_0002000 [2D boundary of] > NA
- http://purl.obolibrary.org/obo/RO_0002002 [has 2D boundary] > NA
- http://purl.obolibrary.org/obo/BFO_0000054 [realized in] > http://purl.obolibrary.org/obo/BFO_0000054 [has realization]
- http://purl.obolibrary.org/obo/BFO_0000055 [realizes] > http://purl.obolibrary.org/obo/BFO_0000055 [realizes]
- http://purl.obolibrary.org/obo/BFO_0000066 [occurs in] > http://purl.obolibrary.org/obo/BFO_0000066 [occurs in]
IRIs that need to replaced:
- http://purl.obolibrary.org/obo/RO_0000052 [inheres in] > http://purl.obolibrary.org/obo/BFO_0000197 [inheres in]
- http://purl.obolibrary.org/obo/RO_0000053 [bearer of] > http://purl.obolibrary.org/obo/BFO_0000196 [bearer of]
- http://purl.obolibrary.org/obo/RO_0000056 [participates in] > http://purl.obolibrary.org/obo/BFO_0000056 [participates in]
- http://purl.obolibrary.org/obo/RO_0000057 [has participant] > http://purl.obolibrary.org/obo/BFO_0000057 [has participant]
- http://purl.obolibrary.org/obo/RO_0000058 [is concretized as] > http://purl.obolibrary.org/obo/BFO_0000058 [is concretized by]
- http://purl.obolibrary.org/obo/RO_0000059 [concretizes] > http://purl.obolibrary.org/obo/BFO_0000059 [concretizes]
- http://purl.obolibrary.org/obo/BFO_0000067 [contains process] > http://purl.obolibrary.org/obo/BFO_0000183 [environs]
- http://purl.obolibrary.org/obo/RO_0001015 [location of] > http://purl.obolibrary.org/obo/BFO_0000124 [location of]
- http://purl.obolibrary.org/obo/RO_0001025 [located in] > http://purl.obolibrary.org/obo/BFO_0000171 [located in]
- http://purl.obolibrary.org/obo/RO_0002350 [member of] > http://purl.obolibrary.org/obo/BFO_0000129 [member part of]
- http://purl.obolibrary.org/obo/RO_0002351 [has member] > http://purl.obolibrary.org/obo/BFO_0000115 [has member part]
- http://purl.obolibrary.org/obo/RO_0010001 [generically depends on] > http://purl.obolibrary.org/obo/BFO_0000084 [generically depends on]
- http://purl.obolibrary.org/obo/RO_0010002 [is carrier of] > http://purl.obolibrary.org/obo/BFO_0000101 [is carrier of]
- http://www.ontologyrepository.com/CommonCoreOntologies/occurs_on [occurs on] > http://purl.obolibrary.org/obo/BFO_0000199 [occupies temporal region]
- http://www.ontologyrepository.com/CommonCoreOntologies/is_starting_instant_of [is starting instant of] > http://purl.obolibrary.org/obo/BFO_0000221 [first instant of]
- http://www.ontologyrepository.com/CommonCoreOntologies/has_starting_instant [has starting instant] > http://purl.obolibrary.org/obo/BFO_0000222 [has first instant]
- http://www.ontologyrepository.com/CommonCoreOntologies/is_ending_instant_of [is ending instant of] > http://purl.obolibrary.org/obo/BFO_0000223 [last instant of]
- http://www.ontologyrepository.com/CommonCoreOntologies/has_ending_instant [has ending instant] > http://purl.obolibrary.org/obo/BFO_0000224 [has last instant]
- http://purl.obolibrary.org/obo/RO_0000079 [function of] > http://purl.obolibrary.org/obo/BFO_0000197 [inheres in]
- http://purl.obolibrary.org/obo/RO_0000080 [quality of] > http://purl.obolibrary.org/obo/BFO_0000197 [inheres in]
- http://purl.obolibrary.org/obo/RO_0000081 [role of] > http://purl.obolibrary.org/obo/BFO_0000197 [inheres in]
- http://purl.obolibrary.org/obo/RO_0000092 [disposition of] > http://purl.obolibrary.org/obo/BFO_0000197 [inheres in]
- http://purl.obolibrary.org/obo/RO_0000085 [has function] > http://purl.obolibrary.org/obo/BFO_0000196 [bearer of]
- http://purl.obolibrary.org/obo/RO_0000086 [has quality] > http://purl.obolibrary.org/obo/BFO_0000196 [bearer of]
- http://purl.obolibrary.org/obo/RO_0000087 [has role] > http://purl.obolibrary.org/obo/BFO_0000196 [bearer of]
- http://purl.obolibrary.org/obo/RO_0000091 [has disposition] > http://purl.obolibrary.org/obo/BFO_0000196 [bearer of]
-
http://purl.obolibrary.org/obo/BFO_0000050 [part of] >
http://purl.obolibrary.org/obo/BFO_0000176 [continuant part of] OR http://purl.obolibrary.org/obo/BFO_0000132 [occurrent part of] -
http://purl.obolibrary.org/obo/BFO_0000051 [has part] >
http://purl.obolibrary.org/obo/BFO_0000178 [has continuant part] OR http://purl.obolibrary.org/obo/BFO_0000117 [has occurrent part]
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.