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