我有一个猫头鹰本体,我把它读到耶拿OntModel
。然后我在运行时更新它。现在我想把它写成 OWL 本体。我使用下面的代码:
RDFWriter writer = model.getWriter("RDF/XML");
writer.write(model, out, root_uri);
...为我提供 RDF 语法,而不是 OWL 语法。如何将OntModel
写入 OWL 语法?
任何解决方案?
答案 0 :(得分:3)
欢迎使用StackOverflow! Jena不支持OWL / XML语法。它只支持各种RDF语法,包括RDF / XML和Turtle。有关Jena支持的格式,请参阅here。
因此,您需要使用其中一种语法(可以很好地表达所有OWL)。
或者切换到支持OWL / XML的其他库,例如OWL API。
答案 1 :(得分:3)
当然,如果您使用getWriter("RDF/XML")
,它将使用RDF / XML编写,这是RDF的一种序列化格式,所有RDF格式都是OWL的序列化语法。
在以编程方式编写OWL时需要使用非RDF语法的情况非常少但如果您想这样做,请尝试使用OWL API,OWL/XML,OWL 2 Manchester syntax中的OWL 2 functional syntax,{{3}} 3}},或{{3}}。