查找本体中使用的非实体的所有IRI?

时间:2018-02-09 21:05:16

标签: owl-api

在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,因此没有出现在本体签名中。

1 个答案:

答案 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')
    );
}

}