我可以获取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());
}
最佳答案
对于实体,可以使用OWLEntity.getIRI()。getFragment()进行此操作。
但是请注意,并非所有实体都具有这种名称,因为Iri可以合法地以/或#结尾