Java Jena API-如何处理OWL文件?

Java Jena API-如何处理OWL文件?,java,rdf,jena,owl,Java,Rdf,Jena,Owl,我有以下代码来列出本体的个体: public static void main(String[] args) { OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM); String fileName = "C:/Users/Ikno/Desktop/workspace/Jena/ontrdf.rdf"; try { InputStream inputStream

我有以下代码来列出本体的个体:

public static void main(String[] args) {
    OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
    String fileName = "C:/Users/Ikno/Desktop/workspace/Jena/ontrdf.rdf";

    try {
        InputStream inputStream = new FileInputStream(fileName);
        model.read(inputStream, "RDF/XML");
        //model.read(inputStream, "OWL/XML");
        inputStream.close();
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }

    ExtendedIterator<Individual> itI = model.listIndividuals();

    while (itI.hasNext()) {
        Individual i = itI.next();
        System.out.println(i.getLocalName());
    }
}

Jena不能支持OWL格式的这种操作吗?

根据Jena文档,如果查看read方法,很明显Jena不支持OWL/XML。lang(第二个Arg-to-read方法)的预定义值是“RDF/XML”、“N-TRIPLE”、“TURTLE”(或“TTL”)和“N3”。null表示默认语言“RDF/XML”。“RDF/XML-ABBREV”是“RDF/XML”的同义词。因此,在您的例子中,我将本体保存为RDF/XML,然后与Jena一起阅读。

作为您可以使用的选项,它是OWL-API和ApacheJena之间的桥梁。因此,它同时支持所有jena和owl api格式(仅owl/XML是owl-api和protege的原始格式),但(注意)没有自己的实现。

当您使用“owl/XML”取消注释行时,您会注释掉上面的行?@Arsham Yes。我忘了提那件事了。谢谢,@Arsham,谢谢你的回答,也谢谢你记住了耶拿的优秀文献。我将继续使用RDF,直到他们更新API以支持OWL。
class org.apache.jena.riot.RiotException
[line: 266, col: 31] {E201} Multiple children of property element