在 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。
我正在尝试读取耶拿中的 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。