我有这样的本体模型:
- 断言子类的猫头鹰:事物
- 章节子类猫头鹰:物
- 事件子类猫头鹰:事物
- 每日事件子类事件
- 历史事件子类事件
我想从 ontmodel 获取我的基类列表,即断言、章节、事件,而不是所有类的列表。
您可以在 OntModel
上使用 listHierarchyRootClasses()
方法。
Path path = Paths.get(".").toAbsolutePath().normalize();
String ontologyFile = "file:" + path.toFile().getAbsolutePath() + "/src/main/resources/BaseClasses.owl";
OntModel defaultModel = ModelFactory.createOntologyModel();
defaultModel.read(ontologyFile);
for (ExtendedIterator<OntClass> i = defaultModel.listHierarchyRootClasses(); i.hasNext();) {
OntClass ontClass = i.next();
logger.debug("Base class = " + ontClass);
}