如何使用不同的 ModelSpec 将 JENA OntModel 克隆到另一个

How to clone a JENA OntModel to another with a different ModelSpec

我在耶拿有一个带有 OWL_MEM_RDFS_INF ModelSpec 的 OntModel。但是我创建了一个实用程序来计算模型中的个人、财产等的数量。正如所解释的 here 执行 model.listIndividuals() 方法需要永远,这是正常的,因为我正在使用一些推理能力。

进一步证明,因为如果我使用基本的 OWL_MEM ModelSpec,我没有任何问题。

我尝试克隆模型图并使用另一个 ModelSpec,方法是使用 here 的解释:

  Model copyOfOntModel = ModelFactory.createModelForGraph(model.getGraph());
  OntModel newModel = new OntModelImpl(OntModelSpec.OWL_MEM, copyOfOntModel);

但是当我执行model.listIndividuals()方法时,它仍然需要很长时间。有没有办法克隆模型但使用基本的 ModelSpec 为例?

我应用了 UniformedUser 所说的,但由于 getRawModel() 方法的结果不是 OntModel,我只是做了:

  Model _model = model.getRawModel();
  OntModel newModel = new OntModelImpl(OntModelSpec.OWL_MEM, _model);

而且效果很好!!