2014-07-18 56 views
4

我可以獲得OWLClass並訪問信息。課程和個人與前綴一起。
有沒有什麼方法擺脫前綴?
例如:
使用OWL API,如何獲得班級或個人姓名

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>

我要的只是MonDad

UPDATE:
謝謝納齊奧西隆。
我發現密鑰是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()); 
} 

回答

2

對於實體,你可以用OWLEntity.getIRI()。getFragment做到這一點()。然而

請注意,並非所有的實體都有這樣的一個名字,作爲裏裏可以合法結尾/或#

2

一個小更新:getFragment()現已棄用。我使用getShortForm()代替。

0

我面臨同樣的問題,並使用OWLEntity.getIRI().getShortForm()

相關問題