在OWLAPI中是否有任何直接的方法来查找本体中使用的所有IRI,这些IRI尚未被识别为实体,即尚未声明且未在上下文中使用,从而允许将它们识别为特定实体类型?希望得到类似于OWLOntology.signature()的东西,没有看到任何东西。
BFO 2.0(http://purl.obolibrary.org/obo/bfo.owl)中出现了这种情况的一个例子:
<rdf:Description rdf:about="http://example.com/bfo-spec-label">
<obo:IAO_0000119>Person:Alan Ruttenberg</obo:IAO_0000119>
</rdf:Description>
这里http://example.com/bfo-spec-label
只是一个未知实体类型的“裸”IRI,因此没有出现在本体签名中。
答案 0 :(得分:0)
找不到任何优雅的方法来找到所有这些裸IRI,但这些可以通过查看它们可能发生的所有地方找到。一个简单的方法看起来像: private List findBareIRIs(OWLOntology onto){ List bares = new ArrayList();
public search(data: any): any {
console.log(data.criteria);
return Observable.from(ELEMENT_DATA)
.filter(element => element.name.toLocaleLowerCase().includes(data.searchTerm.toLocaleLowerCase()))
.map(element => element.name)
.subscribe(
element => console.log(element),
err => console.error(err),
() => console.log('Streaming is over')
);
}
}