将 ontModel 写成 owl 而不是 jena 的 rdf

问题描述 投票:0回答:3

我有一个猫头鹰本体,我把它读到耶拿

OntModel
。然后我在运行时更新它。现在我想将其作为 OWL 本体写回来。我正在使用下面的代码:

RDFWriter writer = model.getWriter("RDF/XML");

writer.write(model, out, root_uri);

... 给我的是 RDF 语法,而不是 OWL 语法。如何将

OntModel
写入 OWL 语法?

有什么解决办法吗?

jena owl
3个回答
3
投票

欢迎来到 StackOverflow! Jena 不支持 OWL/XML 语法。它只支持各种RDF语法,包括RDF/XML和Turtle。请参阅此处了解耶拿支持的格式。

因此,您要么需要使用其中一种语法(它可以很好地表达所有 OWL)。

或者切换到支持 OWL/XML 的其他库,例如 OWL API


3
投票

当然,如果您使用

getWriter("RDF/XML")
,它将以RDF/XML编写,这是RDF的一种序列化格式,所有RDF格式都是OWL的序列化语法。 在以编程方式编写 OWL 时,极少数情况下需要使用非 RDF 语法,但如果您想这样做,请尝试使用 OWL API,它可以在 OWL/XML 中、在 OWL 2 中编写 OWL曼彻斯特语法,或 OWL 2 函数语法


0
投票

ONT-API,它是 Apache Jena 上的 OWL-API 实现,它支持所有 OWL 格式。另外,还有ont-converter

© www.soinside.com 2019 - 2024. All rights reserved.