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