Skip to content

Make repair command more flexible#1194

Merged
jamesaoverton merged 4 commits intomasterfrom
repair-merge-annotations
May 13, 2024
Merged

Make repair command more flexible#1194
jamesaoverton merged 4 commits intomasterfrom
repair-merge-annotations

Conversation

@matentzn
Copy link
Contributor

@matentzn matentzn commented Apr 8, 2024

Resolves #1099, and makes repair command more flexible.

  • docs/ have been added/updated
  • tests have been added/updated
  • mvn verify says all tests pass
  • mvn site says all JavaDocs correct
  • CHANGELOG.md has been updated

This PR makes it possible to selectively invoke repair functions rather than having all or nothing approach (which still works by default).

WARNING: This PR contains a breaking change:

robot repair --input in.owl --merge-axiom-annotations true -o out.owl

would have previously ran the entire repair pipeline (RepairOperation.repair()). Now, it will only run the merge axiom annotations pipeline.

This commit makes it possible to selectively invoke repair functions rather than a all or nothing approach.
@matentzn matentzn requested a review from balhoff April 8, 2024 13:07
--merge-axiom-annotations true \
--output results/uberon_axiom_annotation_merged.owl

By default, annotation axioms are not migrated to replacement classes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@balhoff what does this mean? I dont get this part of the repair method at all. This sentence also makes no sense to me.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@balhoff balhoff May 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you use that option, you can automatically move xrefs on an obsolete class to its replacement.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have updated the documentation to make the command a bit clearer, but this particular part I still dont get it.

Lets say we have

A sub R some B

And B is deprecated.

When I "repair" my ontology I would assume this happens:

A sub R some X

where X is a replacement of B.

How does this relate to "fixing" anything about B? This seems like a totally different command to me (robot deprecate or similar).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it's "repairing" the ontology itself.

@jamesaoverton jamesaoverton merged commit d4105ae into master May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: Add a parameter that enables merging multiple instances of the same axiom with different sets of axiom annotations

3 participants