-
Notifications
You must be signed in to change notification settings - Fork 23
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
Automatic GCI conversion #265
Conversation
Please merge #264 before. |
I tested the resulting ontologies with Webvowl and Ontometrics and they are working. Here is the resulting Webvowl visualization: I will append the resulting OWL Files here, you can also see the result at my fork on the master: https://github.com/sasjonge/soma/actions/runs/2727859329 @mpomarlan Can you check the content of the resulting SOMA files, if the conversed GCI's are okay? |
Almost perfect! One of the GCIs got a bad conversion. Fault of the GCI for being a bit redundantly written perhaps, but still an important GCI: Situation and ('manifests in' some Event) and (prevents some ('manifests in' some Event)) SubClassOf owl:Nothing This intends to say that a manifested situation cannot prevent another manifested situation. (Or in other words, either something prevented did not manifest, or what could have prevented something did not manifest.) The redundancy is "Situation and". Because of the domain of the 'manifests in' property this is not needed and would be an easy fix for this issue. As it is, the resulting ontology contains the axiom: disjoint classes: situation, manifests in some Event, prevents some manifests in some Event This is a bit harsh, as it implies no situation can ever manifest. |
Good catch, should now be fixed |
Sascha, can you make an updated version of the merged SOMA so I can check? |
Here is the updated version You can also find it as results of my CI here: |
Now I see that a Situation is asserted as equivalent to something which does NOT (manifest in an event AND prevent something that manifests in an event). (I'm made sure by checking the owl text because Protege should render a few more parantheses for clarity but that's not our fault.) I understand the subclassof direction of that equivalence. In fact, if this were a subclass axiom rather than equivalence it should have captured the original axiom exactly. What's the justification for the opposite direction? It seems too strong, since many things will both not manifest and not prevent anything. In particular, things outside the domain of prevents and manifests will not do this, such as classes disjoint with Situations such as Concept or Description. But then it would follow these are Situations as well, which I think would then entail there are no Concepts nor Descriptions. Didn't the reasoner catch this or am I making a mistake in inference? |
There's also a general class axiom that seems to have changed: not (('has precondition' some 'Nonmanifested situation')) EquivalentTo 'manifests in' some Event While this doesn't seem to lead to empty concepts, imo it says too much. Not everything that could manifest (ie., has all preconditions met) actually does. |
Sorry for the typo; I had subclassOfAxiom in mind and picked the wrong method. |
Good! Maybe Sascha can generate the merged SOMA again, I'll have one more check and hopefully that's that for this. |
@mpomarlan Here is the updated version and the results of my CI are here: |
This introduces automatic GCI conversion such that in the deployed ontology, some GCIs with owl:Nothing as super class will be rewritten to Disjointness or ObjectPropertyRange axioms. Should hopefully fix #236 and #251