我有一个猫头鹰本体,我把它读到耶拿
OntModel
。然后我在运行时更新它。现在我想将其作为 OWL 本体写回来。我正在使用下面的代码:
RDFWriter writer = model.getWriter("RDF/XML");
writer.write(model, out, root_uri);
... 给我的是 RDF 语法,而不是 OWL 语法。如何将
OntModel
写入 OWL 语法?
有什么解决办法吗?
当然,如果您使用
getWriter("RDF/XML")
,它将以RDF/XML编写,这是RDF的一种序列化格式,所有RDF格式都是OWL的序列化语法。
在以编程方式编写 OWL 时,极少数情况下需要使用非 RDF 语法,但如果您想这样做,请尝试使用 OWL API,它可以在 OWL/XML 中、在 OWL 2 中编写 OWL曼彻斯特语法,或 OWL 2 函数语法。
有ONT-API,它是 Apache Jena 上的 OWL-API 实现,它支持所有 OWL 格式。另外,还有ont-converter