.rdf和.owl扩展与Jena之间的混淆

.rdf和.owl扩展与Jena之间的混淆,rdf,jena,owl,Rdf,Jena,Owl,Jena无法处理OWL格式的文件,因此我使用Protégé创建了一个本体,并将其保存为RDF/XML,但该文件以.OWL结尾。下面的代码将使用owl full语言读取本体 OntModel model=ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM); model.read(fileInputStream,null);//有时它可以被读取(fileInputStream,“RDF/XML”) 我不应该在某个地方使用RDFS吗?Prot

Jena无法处理OWL格式的文件,因此我使用Protégé创建了一个本体,并将其保存为RDF/XML,但该文件以
.OWL
结尾。下面的代码将使用owl full语言读取本体

OntModel model=ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
model.read(fileInputStream,null);//有时它可以被读取(fileInputStream,“RDF/XML”)

我不应该在某个地方使用RDFS吗?

Protege主要用于OWL,这就是为什么文件有一个
.OWL
扩展名的原因。然而,如果您将其保存为Protege中的“RDF/XML”,它将生成一个有效的RDF文档,然后您应该能够使用能够处理普通RDF的工具(如Jena)打开该文档。一个小技巧是用
.rdf
扩展名替换
.owl

我建议您了解您的问题:

  • 用文本编辑器打开
    .owl
    文件。您应该会在其中看到一些RDF/XML

  • 验证文件的内容,以便查看内容是否在真正的RDF中序列化。例如,你可以使用一个在线工具来做这件事

  • 如果您不喜欢RDF/XML格式,可以使用一个工具(例如,我认为Jena也提供了一些方法)将其转换为turtle

  • 将三元组保存在扩展名为
    .rdf
    的文件中,现在rdf工具应该可以读取它了


您试过了吗?(扩展并不重要,因为您还可以告诉系统synatx-RDF/XML)。我想弄清楚的是,我以RDF/XML格式保存了本体,但似乎以.owl结尾,并在JENA中作为owl处理?或者,不管是哪种格式,Jena都可以解析这两种格式,还有一些其他格式,如trig、n3或elsethank,非常感谢您的全面回答。这很有帮助。我阅读了一些OWL/XML和RDF/XML示例,了解了语法差异的一般概念: