Массовое изменение URI в онтологиях RDF / OWL - PullRequest
0 голосов
/ 28 мая 2020

Я пишу программу, которая очищает файлы онтологий (файлы OWL), которые были созданы вручную с помощью Protege. Проблема в том, что (среди прочего) созданные вручную файлы имеют неправильные базовые URI.

Есть ли способ изменить базовый URI файла онтологии или мне следует изменить URI каждого индивидуума независимо? Может ли кто-нибудь посоветовать мне, как я могу это сделать, используя Apache Jena?

пример файла:

<rdf:RDF
  xmlns="http://www.semanticweb.org/pnatsiavas/ontologies/input_ontology"
  xml:base="http://www.semanticweb.org/pnatsiavas/ontologies/input_ontology"
  ...
  xmlns:input_ontology="http://www.semanticweb.org/pnatsiavas/ontologies/input_ontology#"

  <owl:NamedIndividual rdf:about="http://www.semanticweb.org/pnatsiavas/ontologies/input_ontology#individual1">
  <rdf:type rdf:resource="http://www.semanticweb.org/pnatsiavas/ontologies/reference_ontology#Class1"/>
  </owl:NamedIndividual>
  ...

Могу ли я изменить http://www.semanticweb.org/pnatsiavas/ontologies/input_ontology URI на что-то иначе используя Apache Jena? Я хотел бы изменить базовый URI файла для одновременного обновления всех индивидов онтологии, но даже если это невозможно, я смогу изменить URI каждого отдельного человека отдельно (см. Следующий фрагмент). Правильно? Однако я не могу найти метод "setURI". Я что-то упускаю?

List<Individual> individuals =
inputOntology.listIndividuals().toList();
for(Individual individual: inputOntology){
    individual.asNode().setURI(newURI); // setURI method does not exist
}
...