Я пытаюсь скопировать OTL-онтологию с использованием Jena API, каждый раз добавляйте новое утверждение в эту онтологию. Но вначале он должен получить оригинальную онтологию без нового утверждения.копия OWL-онтологии в Йене
Следующий код добавляет новый оператор каждый раз, поверх предыдущего.
this runs in a for loop{
OntModel curOnto = onto1.getOntology();
curOnto.add(s,p,o);
/*printing the statement from onto1
it seems it is adding new statement in onto1 on top of previous statement*/
int lineNum = 0;
for (StmtIterator i = onto1.getOntology().listStatements(); i.hasNext();) {
Statement stmt = i.nextStatement();
System.out.println(lineNum++ + " - " + PrintUtil.print(stmt));
}
}
Как предложено в другом посте я попытался скопировать онтологию как это:
Model copyOnto = ModelFactory.createModelForGraph(onto1.getOntology().getGraph());
OntModel curOnto = new OntModelImpl(onto1.getOntology().getSpecification(), copyOnto);
, но все тот же, он продолжает добавлять новое заявление в onto1. Мне нужно получить оригинальную копию на 1 в curOnto в каждом прогоне цикла for. Любая помощь?
Заранее спасибо.
Привет, В протеже у вас есть возможность экспортировать онтологию в код Java, вы не попробовали? – Abhijeet
Спасибо за информацию. Но мне нужно это в Runtime из источника ... – ruben
Я тоже новый дорогой ... Мои вопросы также остаются без ответа ... ищут ответы ... Мины более простые ... http://stackoverflow.com/вопросы/36741623/действия-в-совой-моделирования? noredirect = 1 # comment61100964_36741623 – Abhijeet