与耶拿的颗粒推理器

时间:2013-07-16 22:06:33

标签: java semantic-web jena ontology pellet

我正在使用Jena运行Pellet,如下所示:

public void storeInferredModel(Data data) {
    System.out.println("creating inferred dataset ");
    Dataset dataset = TDBFactory.createDataset(data.getInferredResultsPath());
    System.out.println("creating OntModel ");
    OntModel Infmodel = ModelFactory.createOntologyModel(
                          PelletReasonerFactory.THE_SPEC, 
                          dataset.getNamedModel(this.URL));
    System.out.println("adding schema (OWL) to OntModel");
    Infmodel.add(this.owl);
    System.out.println("adding data (RDF) to OntModel ");
    Infmodel.add(data.tdb);
    System.out.println("creating ModelExtractor ");
    ModelExtractor ext = new ModelExtractor(Infmodel);
    System.out.println("replacing OntModel by the Extracted Model");
    dataset.replaceNamedModel(this.URL, ext.extractModel());
    System.out.println("saving inferred model");
    Infmodel.close();
    System.out.println("closing inferred dataset");
    dataset.close();
}

我的TDB或原始数据是2.7G。我一直在运行反对TDB的推理器,但是我遇到了“GC开销限制超过java”的问题,虽然我给程序提供了大约45G内存而且推理器只采用了30G然后崩溃了。换句话说,它没有达到计算机内存的最大值。

另一个问题是Pellet,当我在小数据集中运行上面的代码时,我得到了太多相同的AS,不相交等等。这是一个错误还是我在使用Pellet做错了什么?

0 个答案:

没有答案