首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件名生成唯一的IRI

从文件名生成唯一的IRI
EN

Stack Overflow用户
提问于 2015-09-09 16:17:54
回答 1查看 405关注 0票数 1

我有一个本体,使用Protegé4.3.0创建,我将使用OWL将一些OWLNamedIndividual对象添加到文件OWL中。我使用以下指令来创建一个新的OWLNamedIndividual

代码语言:javascript
复制
OWLNamedIndividual objSample = df.getOWLNamedIndividual(IRI.create(iri + "#" + id));
  • 变量id是一个String
  • iri是加载本体的基本IRI;为了获得本体的基本IRI,我使用了以下指令:iri = ontology.getOntologyID().getOntologyIRI()

因此,将新的OWLNamedIndividual添加到加载的本体中,然后使用以下指令将本体保存到OWL文件中。

代码语言:javascript
复制
XMLWriterPreferences.getInstance().setUseNamespaceEntities(true);
OWLOntologyFormat format = manager.getOntologyFormat(ontology);
manager.saveOntology(ontology, format, IRI.create(file.toURI()));

变量id是从文件的基本名称(即。没有扩展名的文件名)。如果文件的基本名称在名称中有一个或多个空格,本体将保存而没有任何错误,但是当我打开新保存的OWL文件时,Protegé会在IRI包含空格的第一次出现时报告一个解析错误。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-09 17:52:11

IRIs应该是一个表示您的资源的块。如果我正确地理解了您的意思,那么您就有了一个id,比如、大船、,并且您正在创建看起来像<http://example.com#big boat>的IRIs。这不是一个有效的IRI,您需要用一个_-替换这个空间,这样您就有了<http://example.com#big_boat>。即使您输入一个带有Protégé空格的建模元素名称,它也会自动将一个_放在中间。

看看IRI中无效字符的这篇文章

接受IRIs的系统还可以处理US-ASCII中不允许在URI中打印的字符,即"<“、">”、“‘’、空格、"{”、"}“、"\”、"^“和"`",在上面的步骤2中。如果找到了这些字符,但没有转换,则转换将失败。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32484630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档