获得本体IRI

时间:2017-08-07 13:13:20

标签: owl ontology owl-api

当我们想要创建或加载本体时,我们使用这行代码IRI ontologyIRI = IRI.create("http://owl.man.ac.uk/2005/07/sssw/ontologyName");那么,我应该使用什么来将它作为输出?

我尝试使用此函数IRI documentIRI = manager.getOntologyDocumentIRI(ontology);,但它重新调整了本体文件的位置,类似于file:/Users/.../Desktop/ontologyname.owl

而不是它,我需要这样写的:

http://owl.man.ac.uk/2005/07/sssw/ontologyName

请,如果您有任何想法......谢谢

2 个答案:

答案 0 :(得分:1)

OWLOntology o = ...
IRI iri = o.getOWLOntologyID().getOntologyIRI().get();

返回识别本体的IRI;注意 - 这可能与您加载本体的IRI不同。您的示例中的可解析IRI可能指向本体,为自己声明不同的IRI(在这个意义上,它是文档IRI)。

答案 1 :(得分:1)

使用OWLAPI-5,您可以使用以下方法获取本体IRI:

ont.getOntologyID().getOntologyIRI().get()

这是一个例子:

OWLOntologyManager man = OWLManager.createOWLOntologyManager();
OWLOntology ont = man.loadOntologyFromOntologyDocument(IRI.create("file:/Users/.../Desktop/ontologyname.owl"));
IRI yourIRI = ont.getOntologyID().getOntologyIRI().get();
String yourOntoURI = yourIRI.toString();

来自owlapi的示例来源:owlapi-github-examples(第1115行)