在我的程序中,我需要制作 OWLOntology 实例的深拷贝。

我想我需要创建一个新的 OWLOntologyManager :

ontologyManager = OWLManager.createOWLOntologyManager();

现在我想向管理器添加一个本体,它是给定 OWLOntology 的深拷贝。
我不想从文档中再次加载本体,因为这需要很多时间。

我怎样才能以简单的方式做到这一点?

最佳答案

据我所知,确实没有深度复制的方法。一个解决方案是将第一个本体中存在的所有公理添加到新创建的本体实例中。这样您就可以将所有内容都保存在内存中,而无需重新读取文件。 OWL 实体(类、属性等)也应该被复制。

以下代码应该可以工作(未测试):

manager.addAxioms(newOntology, oldOntology.getAxioms());

关于java - 如何制作 OWLOntology 的深拷贝,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18129507/

10-13 02:39