Я ноб в Йене и читаю это page, более конкретно на рис. 5 (iii) - «прямое выведенное отношение» Я нашел именно то, что мне нужно. В принципе, мой OntModel должен соблюдать следующее правило: «Нельзя допускать прямые инструкции, которые можно вывести». Но, к сожалению, я не знаю, как воплотить эти идеи в Йене.jena direct inferred graph
Мой пример кода:
String baseUri="http://entidades.owl";
OntModel base = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
OntClass studant = base.createClass(baseUri +"#Student");
OntClass person = base.createClass(baseUri +"#Person");
OntClass ser = base.createClass(baseUri +"#ThingLive");
Property isA = base.createTransitiveProperty(baseUri+"#IsA", true);
nome.addDomain(person);
base.add(new StatementImpl(studant, isA, person));
base.add(new StatementImpl(person, isA, ser));
base.createIndividual(baseUri+"#JonhDoe",studant);
base.createIndividual(baseUri+"#JonhDoe",person);
base.createIndividual(baseUri+"#JonhDoe",ser);
base.write(System.out);
OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF,base);
model.write(System.out);
Ну
Я пытаюсь построить свойство "Isa" как "transitiveProperty", но мыслителя не признает его. Как я могу это исправить?
Если я меняю: base.add (новое StatementImpl (studant, isA, лицо)); base.add (новое StatementImpl (лицо, isA, ser));
к:
person.addSubClass (студент); ser.addSubClass (лицо);
Основатель был в состоянии отличить отлично, но, к сожалению, «базовая» OntModel и модель «OntModel» показывают мне тот же RDF. Я думаю, что «модель» должна показать мне минимальный график RDF.
Что я могу сделать, чтобы увидеть это изменение в структуре RDF?
Большое спасибо, ребята !!!!!