Я использую Jena java API для чтения/поиска онтологии и пытаюсь найти всех членов определенного класса онтологии.
Итак, я использую следующий код:
OntClass oc = model.getOntClass(NS + "ClassName");
for (ExtendedIterator<? extends OntResource> i = oc.listInstances(); i.hasNext();)
{
OntResource or = i.next();
System.out.println("Local name:" + or.getLocalName());
}
Где model
— это объект OntModel
, с которым считывается онтология.
Результат, который я получаю из этого кода, представляет собой список значений в форме: className1, className5 и т. д.
Однако, когда я открываю онтологию с помощью Protege, члены одного и того же класса имеют обычные имена. Является ли getInstances()
подходящей функцией для моей цели? И если да, то где в онтологии хранятся имена, которые я вижу с помощью Protege, и как я могу получить их значения?