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

Report: loosen multiple_equivalent_classes check #856

Merged
merged 13 commits into from
Aug 13, 2021

Conversation

matentzn
Copy link
Contributor

@matentzn matentzn commented May 14, 2021

Resolves #733

  • 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 is a proposal based on what we started discussing in #733 but I modified it slightly to follow my personal ideal. Of course this was never discussed, and I am happy to revise:

  1. relax the multiple_equivalent_class check to WARN level and exclude "covering axioms" (OR OR OR) from the check altogether. Reducing the WARN level is because I think that asserting logical equivalence between named classes should either be discouraged altogether (this is then tested with ROBOT reason though), or we should be more permissive when there are two of them. The covering axiom argument is discussed in the ticket.
  2. Add a new check, multiple_logical_definitions to ensure that no one has two equivalent class axioms with intersections in it. That should always be discouraged.

@beckyjackson
Copy link
Contributor

beckyjackson commented May 14, 2021

It looks like you only updated the docs, not the queries. Can you please:

It seems like this test should have failed because of the missing multiple_logical_definitons.rq. That might be another issue to open.

@matentzn
Copy link
Contributor Author

Oops, sorry! I guess I thought the queries would magically materialise themselves from the docs. :D

matentzn added a commit that referenced this pull request May 14, 2021
In here, I managed to only update the docs: https://github.com/ontodev/robot/pull/854/files

As Becky explained to me [here](#856 (comment)), that did not do the trick :D
@jamesaoverton
Copy link
Member

It's almost magic. There's this Makefile: https://github.com/ontodev/robot/blob/master/docs/Makefile

@matentzn matentzn changed the title Proposal: loosen multiple_equivalent_classes check Report: loosen multiple_equivalent_classes check May 16, 2021
@matentzn matentzn requested a review from beckyjackson May 16, 2021 17:28
@beckyjackson
Copy link
Contributor

beckyjackson commented May 17, 2021

I think these two names are a bit too close to each other and might cause confusion:

multiple_equivalent_classes vs. multiple_equivalent_class_definitions

I don't have a better proposal though so... maybe I'll just have to live with it.

Two more things and I think this is in good shape:

  • Make sure to update this line with the correct rule name
  • I've kept the report profile in alphabetical order, so can we move this new check to above multiple_equivalent_classes?
    Thank you!

@matentzn
Copy link
Contributor Author

Thanks @beckyjackson

Ideally the other rule would have been renamed to something more specific, but its better to not rename rules I think. Its ok! 80%, good enough I think :D

@jamesaoverton jamesaoverton merged commit 9db30dd into master Aug 13, 2021
@jamesaoverton jamesaoverton deleted the fix-multiple-equivalents branch August 13, 2021 19:26
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.

ROBOT report multiple_equivalent_classes perhaps too strict?
3 participants