在 Jena OntModel 中防止动态 owl:import

Prevent dynamic owl:import in Jena OntModel

我正在尝试读取耶拿中的 owl 文件。 我希望 属性 owl:import 指定的相关 owl 文件不会被自动导入。 这可能吗?

我正在这样阅读模型:

OntModel onto = ModelFactory.createOntologyModel();
onto.read(rdfURL);

rdfURL 为 "https://<mymodel>.owl"

此处导入其他 owl 文件的三倍:

<rdf:RDF xml:base="http://www.ontologydesignpatterns.org/cp/owl/agentrole.owl">
  <owl:Ontology rdf:about="http://www.ontologydesignpatterns.org/cp/owl/agentrole.owl">
    <owl:imports rdf:resource="http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl"/>
    <owl:imports rdf:resource="http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl"/>
  </owl:Ontology>
</rdf:RDF>

原因是我不希望 类 和导入模型中定义的属性出现在针对读取模型的查询结果中。

这里有不同的工作方式:

1 - 通过 OntModel 文档管理器控制导入:

onto.getDocumentManager().setProcessImports(false);

读入模型之前。

2 - 根据要显示的信息,修改数据可能更有用:读入普通 RDF 模型,删除导入语句,然后放入 OntModel。