【发布时间】:2015-09-09 16:17:54
【问题描述】:
我有一个使用 Protegé 4.3.0 创建的本体,我将使用 OWL-API 将一些 OWLNamedIndividual 对象添加到文件 OWL。我使用以下指令来创建一个新的OWLNamedIndividual:
OWLNamedIndividual objSample = df.getOWLNamedIndividual(IRI.create(iri + "#" + id));
- 变量
id是String; -
iri是加载本体的基础IRI;为了获得本体的基本IRI,我使用了以下指令:iri = ontology.getOntologyID().getOntologyIRI()。
所以新的OWLNamedIndividual被添加到加载的本体中,然后使用以下指令将本体保存到OWL文件中。
XMLWriterPreferences.getInstance().setUseNamespaceEntities(true);
OWLOntologyFormat format = manager.getOntologyFormat(ontology);
manager.saveOntology(ontology, format, IRI.create(file.toURI()));
变量id 是一个String,由文件的基本名称(即不带扩展名的文件名)生成。如果文件的基本名称中包含一个或多个空格,则保存本体没有任何错误,但是当我打开新保存的 OWL 文件时,Protegé 在第一次出现包含空格的 IRI 时报告解析错误。
如何使用已加载本体的基本 IRI 和文件的基本名称为 OWLNamedIndividual 对象创建有效的 IRI?
【问题讨论】:
-
基本名称有一个或多个空格是什么意思?你能举个例子吗?
-
是的,字符串
id有一个或多个空格。 -
当然,命名空间中不能有空格,这是规则。您可以将它们作为标签,但不能在
iri中。
标签: java semantic-web owl protege owl-api