Я столкнулся с другой проблемой...
Я хочу добиться чего-то подобного:
Я хотел сделать это с помощью RDFList, добавив необходимые свойства в список, а затем вызвать метод createUnionClass (или createIntersectionClass) и объединить их вместе. Затем результат этого метода будет добавлен к конкретному ontClass с помощью addSuperClass().
Это неправильно? Я начал с чего-то очень простого, например:
RDFList rdfList = ontModel.createList();
rdfList.addProperty(ExampleResource1);
rdfList.addProperty(ExampleResource2);
UnionClass uc = ontModel.createUnionClass(null, rdfList);
ExampleClass.addSuperClass(uc);
Но результатом был не союз subClassOf обоих, указанных ранее, а только subClassOf nil.
Любая помощь будет оценена по достоинству.
createUnionClass
нуждается, что неудивительно, и, как сказано в документации, в списке ресурсов, обозначающих классы объединения. Если Protégé принял показанный вами ввод, то, очевидно, вы определили классы ExampleResource1 и ExampleResource2 (но ресурс предполагает индивидуальность в контексте OWL, так что это плохой выбор имени).uc
будет классомExResource1 or ExResouce2
, и вы добавите аксиомуExampleClass subClassOf (ExResource1 or ExResource2)
. Каков был ваш фактический результат? - person Joshua Taylor   schedule 13.12.2013