从文件名生成唯一的 IRI
Generating unique IRI from a filename
我有一个 ontology,使用 Protegé 4.3.0 创建,我会使用 OWL-API 来将一些 OWLNamedIndividual
对象添加到文件 OWL。我使用以下指令创建一个新的 OWLNamedIndividual
:
OWLNamedIndividual objSample = df.getOWLNamedIndividual(IRI.create(iri + "#" + id));
- 变量
id
是一个String
;
iri
是加载的ontology的基础IRI;为了获得 ontology 的基础 IRI,我使用了以下指令:iri = ontology.getOntologyID().getOntologyIRI()
.
所以新的 OWLNamedIndividual
添加到加载的 ontology 然后 ontology 使用以下指令保存到 OWL 文件。
XMLWriterPreferences.getInstance().setUseNamespaceEntities(true);
OWLOntologyFormat format = manager.getOntologyFormat(ontology);
manager.saveOntology(ontology, format, IRI.create(file.toURI()));
变量 id
是一个 String
从文件的基本名称(即不带扩展名的文件名)生成的变量。如果文件的base name中有一个或多个空格,ontology保存没有任何错误,但是当我打开新保存的OWL文件时,Protegé首先报解析错误出现包含空格的 IRI。
如何使用加载的 ontology 的基本 IRI 和文件的基本名称为 OWLNamedIndividual
对象创建有效的 IRI?
IRI 应该是代表您的资源的块。如果我理解正确的话,你有一个像 big boat 这样的 id,并且你正在创建看起来像 <http://example.com#big boat>
的 IRI。这不是有效的 IRI,您需要将 space 替换为 _
或 -
,这样您就有了 <http://example.com#big_boat>
。即使您在 Protégé 中输入带有 space 的建模元素名称,它也会自动在中间放置一个 _
。
查看 this article IRI 中的无效字符。
Systems accepting IRIs MAY also deal with the printable characters in
US-ASCII that are not allowed in URIs, namely "<", ">", '"', space,
"{", "}", "|", "\", "^", and "`", in step 2 above. If these
characters are found but are not converted, then the conversion
SHOULD fail.
我有一个 ontology,使用 Protegé 4.3.0 创建,我会使用 OWL-API 来将一些 OWLNamedIndividual
对象添加到文件 OWL。我使用以下指令创建一个新的 OWLNamedIndividual
:
OWLNamedIndividual objSample = df.getOWLNamedIndividual(IRI.create(iri + "#" + id));
- 变量
id
是一个String
; iri
是加载的ontology的基础IRI;为了获得 ontology 的基础 IRI,我使用了以下指令:iri = ontology.getOntologyID().getOntologyIRI()
.
所以新的 OWLNamedIndividual
添加到加载的 ontology 然后 ontology 使用以下指令保存到 OWL 文件。
XMLWriterPreferences.getInstance().setUseNamespaceEntities(true);
OWLOntologyFormat format = manager.getOntologyFormat(ontology);
manager.saveOntology(ontology, format, IRI.create(file.toURI()));
变量 id
是一个 String
从文件的基本名称(即不带扩展名的文件名)生成的变量。如果文件的base name中有一个或多个空格,ontology保存没有任何错误,但是当我打开新保存的OWL文件时,Protegé首先报解析错误出现包含空格的 IRI。
如何使用加载的 ontology 的基本 IRI 和文件的基本名称为 OWLNamedIndividual
对象创建有效的 IRI?
IRI 应该是代表您的资源的块。如果我理解正确的话,你有一个像 big boat 这样的 id,并且你正在创建看起来像 <http://example.com#big boat>
的 IRI。这不是有效的 IRI,您需要将 space 替换为 _
或 -
,这样您就有了 <http://example.com#big_boat>
。即使您在 Protégé 中输入带有 space 的建模元素名称,它也会自动在中间放置一个 _
。
查看 this article IRI 中的无效字符。
Systems accepting IRIs MAY also deal with the printable characters in US-ASCII that are not allowed in URIs, namely "<", ">", '"', space, "{", "}", "|", "\", "^", and "`", in step 2 above. If these characters are found but are not converted, then the conversion SHOULD fail.