0
我想使用Jena API複製OWL本體,每次向該本體添加新語句。 但是一開始它應該得到原始的本體而沒有新的陳述。在Jena複製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。 我需要得到的原始副本到的curOnto for循環的每次運行。任何幫助?
在此先感謝。
嗨,在protege你有一個選擇導出本體java代碼,你沒有嘗試嗎? – Abhijeet
感謝您的信息。但我需要在運行時從源... – ruben
我也是新的親愛的...我的問題也沒有回答...尋找答案...我的更簡單... http://stackoverflow.com /問題/ 36741623 /動作,在貓頭鷹建模?noredirect = 1#comment61100964_36741623 – Abhijeet