4

OWLClass を取得して情報にアクセスできます。クラスと個人は接頭辞と一緒です。
プレフィックスを取り除く方法はありますか?
例えば:

OWLClass cls = factory.getOWLClass(":Person", pm);
for (OWLIndividual indiv : cls.getIndividuals(onto)) {
    System.out.println(indiv.toString());
}

印刷:
<http://www.co-ode.org/ontologies/ont.owl#Mon>
<http://www.co-ode.org/ontologies/ont.owl#Dad>

私が欲しいのはただMon Dad

更新:
Ignazio に感謝します。鍵はメソッド
にあることがわかりました。getIRI()

for (OWLIndividual indiv : owlclass.getIndividuals(onto)) {
    System.out.println(indiv.asOWLNamedIndividual().getIRI().getFragment());
}

for (OWLClassExpression expre : owlclass.getSubClasses(onto)) {
    System.out.println(expre.asOWLClass().getIRI().getFragment());
}
4

4 に答える 4

2

少し更新: getFragment() は非推奨になりました。代わりに getShortForm() を使用します。

于 2015-08-26T12:01:51.857 に答える
0

私は同じ問題に直面し、使用しOWLEntity.getIRI().getShortForm()ました。

于 2015-09-14T06:54:00.903 に答える