gpt4 book ai didi

java - 从文件名生成唯一的 IRI

转载 作者:行者123 更新时间:2023-11-29 03:05:21 24 4
gpt4 key购买 nike

我有一个使用 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,由文件的基本名称(即不带扩展名的文件名)生成。如果文件的base name中有一个或多个空格,则保存本体没有任何错误,但是当我打开新保存的OWL文件时,Protegé在第一次出现包含空格的IRI时报告解析错误。

如何使用加载本体的基本 IRI 和文件的基本名称为 OWLNamedIndividual 对象创建有效的 IRI?

最佳答案

IRI 被假定为代表您的资源的 block 。如果我理解正确的话,你有一个像 big boat 这样的 id,并且你正在创建看起来像 <http://example.com#big boat> 的 IRI。 .这不是有效的 IRI,您需要将空格替换为 _- , 这样你就有 <http://example.com#big_boat> .即使您在 Protégé 中输入带空格的建模元素名称,它也会自动放置一个 _在中间。

看看 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.

关于java - 从文件名生成唯一的 IRI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32484630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com