Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make repair command more flexible #1194

Merged
merged 4 commits into from
May 13, 2024
Merged

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
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants