JENA:如何从ontmodel获取基类列表?

时间:2018-03-05 04:37:36

标签: java jena

我有本体模型,如:

  • 断言subClassOf owl:Thing
  • 章subClassOf owl:Thing
  • 事件subClassOf owl:Thing
    • DailyEvent subClassOf Event
    • HistoricEvent subClassOf Event

我想得到一个我的基类列表,即断言,章节,来自ontmodel的事件,而不是所有类的列表。

1 个答案:

答案 0 :(得分:0)

您可以在listHierarchyRootClasses()上使用OntModel方法。

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