In the below example, the infM doesn't infer that {r myProperty v}, any ideas why?

However, it does infer that {r owl:sameAs r1} from the mySameAs asserted statement. But if I write:

this.infM = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MINI_RULE_INF, this.baseM); this.infM = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MINI_RULE_INF, this.infM);

then it also outputs that {r myProperty v}


/_*Example code:*_/
    this.baseM = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
this.infM = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MINI_RULE_INF, this.baseM);

    OntResource r = baseM.createOntResource(null);
    OntResource r1 = baseM.createOntResource(null);
OntProperty myProperty = baseM.createOntProperty("http://example.com#my_property";);
    OntResource v = baseM.createOntResource("http://example.com#a_value";);
OntProperty mySameAs = baseM.createOntProperty("http://example.com#mySameAs";);
    baseM.add(mySameAs, RDFS.subPropertyOf, OWL.sameAs);

    r1.addProperty(myProperty, v);
    r.addProperty(mySameAs, r1);

    infM.rebind();

    assertTrue(infM.contains(r, myProperty, v));


also posted at: http://answers.semanticweb.com/questions/8985/jena-recursive-reasoning-issue

Reply via email to