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

New operation: relax axioms / weaken-equivalence #7

Closed
cmungall opened this issue Apr 14, 2015 · 2 comments
Closed

New operation: relax axioms / weaken-equivalence #7

cmungall opened this issue Apr 14, 2015 · 2 comments

Comments

@cmungall
Copy link
Contributor

Not sure what the formal name for this is, @dosumis calls this axiom relaxation

Motivation

It is frequently convenient to view an ontology without equivalence axioms. This is often for structural reasons. Certain editions of ontologies may come with a guarantee that the existential graph formed by all SubClassOf axioms (between named classes and existential axioms) is both complete (w.r.t graph operations) and non-redundant. Including EquivalentClasses axioms can introduce redundancy at the graph view level. For example, the genus is frequently more general than the inferred superclasses.

To ensure that the existential graph is graph-complete it's necessary to write new SubClassOf axioms that are entailed by (but weaker than) Equivalence axioms

Basic Operation

For any equivalence axiom between a name class C and either a single existential X_1 or the class expression IntersectionOf(X_1 ... X_n), generate axioms

  • C SubClassOf X_1
  • ...
  • C SubClassOf X_n

This could possibly be conceived of as the chaining of two operations: (1) weakening of an equivalence to a SubClassOf (2) rewriting a C SubClassOf IntersectionOf(...) axiom to multiple subclass axioms. However, there should be a way to present this to the user as a single operation.

Extensions

The basic operation could be extended to axioms involving arbitrary numbers of named classes and at least one existential. It would also be valid to rewrite equivalents between two named classes as reciprocal subClassOf axioms, but there is no requirement to do so at present so I recommend sticking with the basic.

jamesaoverton added a commit that referenced this issue Apr 14, 2015
- add FilterOperation.filter() method to filter axioms by object property
- add unit tests and supporting files
- does not yet account for issue #7 or issue #8
cmungall added a commit that referenced this issue Apr 14, 2015
@cmungall
Copy link
Contributor Author

Input: relax_equivalence_axioms_test.owl

Expected axiom:

Class: 'cavity of right ventricle'
SubClassOf: 'luminal space of' some 'heart right ventricle'

Should also be semantically identical to map_properties_up_test.owl, which is the output for test #8

cmungall added a commit that referenced this issue Apr 14, 2015
cmungall added a commit that referenced this issue Apr 14, 2015
This was referenced May 5, 2015
@cmungall
Copy link
Contributor Author

cc @davidos

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

No branches or pull requests

1 participant