当我们想要创建或加载本体时,我们使用这行代码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
请,如果您有任何想法......谢谢
答案 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行)