Джена рекурсивная проблема рассуждения - PullRequest
0 голосов
/ 27 апреля 2011

В приведенном ниже примере infM не делает вывод, что {r myProperty v}, есть идеи почему?

Однако он делает вывод, что {r owl: sameAs r1} из утвержденного утверждения mySameAs.Но если я напишу:

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

, он также выведет, что {r myProperty v}

Пример кода:

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));

1 Ответ

1 голос
/ 27 апреля 2011

Это похоже на ошибку для меня. Я зарегистрировал это как jena-61 на Apache Jena Jira.

...