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

Apply or remove axiomatic redundancy related to Symmetric properties (disjoints and inverses) consistently #254

Closed
rjyounes opened this issue May 4, 2020 · 2 comments
Assignees
Labels
impact: patch No new functionality or changes in human-readable semantics (e.g,. fixing a typo in an annotation) status: implementation specified Implementation has been specified. A developer should be assigned.

Comments

@rjyounes
Copy link
Collaborator

rjyounes commented May 4, 2020

See discussion on PR #247. That PR was closed because it has not gone through the triage process.

@marksem
Copy link
Collaborator

marksem commented May 4, 2020

As discussed on Teams regarding my work on issue #243 there are redundant disjoints that could be removed.

Suggestion: Remove redundant disjoints in gistTop, i.e. state the distjoint on just one side. Ususally the one that occurs 1st alphabetically.

Here's the teams discussion transcript:

[9:18 AM] Mark Wallace
sa-gist, I have an issue where when I run the serializer, it removes a bunch of disjointness axioms, even though I didn't touch anything there. Is anyone else seeing this?
​[9:43 AM] Dalia Dahleh
I believe that's protege, not the serializer. When you save an ontology in protege it only writes one side of a symmetric property.
​[9:48 AM] Mark Wallace
Ah, ok Wonder how many of us are using Protege? More importantly, is it OK to "agree with " protege and let these come out (under a different atomic commit), or to keep having to "unstage that hunk" after I serialize from Protege?
​[10:19 AM] Dalia Dahleh
Good question. I'm thinking it might be better to remove them. Not only to make it easier to save with protege, but also to make it more consistent. Most disjoints are only stated on one class in our gist files (even UnitOfMeasure has a few more that are only stated on the other class)
​[10:21 AM] Mark Wallace
ok, sounds goodl. I'll take them out as another atomic commit
Edited​[10:46 AM] Boris Pelakh
Is Protege consistent about which half of the symmetrical disjoint it drops? Should there be a standard?
​[10:48 AM] Dalia Dahleh
It looks like it keeps the first, sorted alphabetically
(2 liked)

@rjyounes rjyounes changed the title Remove redundant disjoints Apply axiomatic redundancy or non-redundancy across the board May 14, 2020
@rjyounes rjyounes changed the title Apply axiomatic redundancy or non-redundancy across the board Apply or remove axiomatic redundancy related to Symmetric properties (disjoints and inverses) consistently May 14, 2020
@rjyounes
Copy link
Collaborator Author

Larger issue of axiomatic redundancy: do we want redundancy or not? If yes, they should be added across the board. gist leans toward lack of redundancy.

Note: Protégé removes certain redundancies, such as disjoints, inverses. But not all, such as doesn't infer InverseFunctional on the inverse of a Functional property.

Those who don't use Protégé for editing may add redundancies, so we wouldn't be consistent.

Without reasoning, Allegrograph does not find the redundancies.

Dan: separate ontology file for just disjoints?

Peter: difference between RDF/XML and OWL/XML?

Dave: materialize all redundant assertions and put them in the appropriate files.

Peter: we need a test case to determine what the cost-benefit of the consistency is.

Decision: limit this issue to disjoints, and remove the redundant ones.

@rjyounes rjyounes added impact: patch No new functionality or changes in human-readable semantics (e.g,. fixing a typo in an annotation) status: implementation specified Implementation has been specified. A developer should be assigned. labels May 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact: patch No new functionality or changes in human-readable semantics (e.g,. fixing a typo in an annotation) status: implementation specified Implementation has been specified. A developer should be assigned.
Projects
None yet
Development

No branches or pull requests

3 participants