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

Reasoner is always satisfied #33

Open
fedeMarra opened this issue Aug 1, 2016 · 1 comment
Open

Reasoner is always satisfied #33

fedeMarra opened this issue Aug 1, 2016 · 1 comment

Comments

@fedeMarra
Copy link

I use Pellet owlapi version 3 and i would like to check if OWLObjectPropertyExpression between two classes exists. For example I have three different classes IC, study and organization where there are these restrictions:

  • IC SubclassOf
    belongs to only organization
    part of only study
    With owlapi code I check if an OWLObjectPropertyExpressions array are validated or not.
    The code is following:
Set<OWLClassAxiom> tempAx = onto.getAxioms(a);
            for(OWLClassAxiom axiom : tempAx){
                for(OWLClassExpression  ex: axiom.getNestedClassExpressions()){
                    for(OWLObjectProperty o:ex.getObjectPropertiesInSignature()){
                        expression = df.getOWLObjectIntersectionOf(a, df.getOWLObjectAllValuesFrom(o, b));
                        expression = df.getOWLObjectSomeValuesFrom(a, df.getOWLObjectSomeValuesFrom(o, b));
                        if (reasoner.isSatisfiable(expression)) {
                            System.out.println("yes");

                            return true;
                        }
                        else return false;
                    }

Where 'a' in this case is IC class and 'b' is study or organization class. The reasoner in all cases returns always satisfied. Why? Is there another way to check the axioms for one class?
Thanks for the answer.

@LorenzBuehmann
Copy link

Your code just checks whether the class expression a SOME (o SOME b) is satisfiable, nothing more.

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

2 participants