【问题标题】:Java jena fuseki set OntModelSpec pellet reasonerJava jena fuseki 设置 OntModelSpec 颗粒推理器
【发布时间】:2016-11-02 15:47:31
【问题描述】:

以下代码用于将 rdf 数据发送到 sparql 端点。

在我尝试向 OntoModel 添加推理器之前,它一直运行良好。

现在编译器说: “无法从 com.hp.hpl.jena.ontology.OntModelspec 转换为 org.apache.jena.ontology.OntModelSpec”。

所以我的问题是,我必须编辑什么才能让它工作? (我知道问题显然出在“PelletReasonerFactory.THE_SPEC”中,它不是来自 com.hp.hpl ...,所以有没有类似的东西,也来自 org.apache.jena ...?)

package services;

import org.apache.jena.query.DatasetAccessor;
import org.apache.jena.query.DatasetAccessorFactory;
import org.apache.jena.query.QueryExecution;
import org.apache.jena.query.QueryExecutionFactory;
import org.apache.jena.query.QuerySolution;
import org.apache.jena.query.ResultSet;
import org.apache.jena.query.ResultSetFormatter;
import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.rdf.model.RDFNode;
import org.apache.jena.ontology.OntModel;
import org.mindswap.pellet.jena.PelletReasonerFactory;
import org.apache.jena.ontology.OntModelSpec;

class FusekiExample {

    public void addRDF(File rdf, String serviceURI){
            throws IOException {

        // the next commented line is the old working version...
        //Model m = ModelFactory.createDefaultModel();

        //these lines are the modified version which doesn't work.
        OntModelSpec oms = PelletReasonerFactory.THE_SPEC;
        OntModel m = ModelFactory.createOntologyModel(oms);
...
}

【问题讨论】:

    标签: java semantic-web fuseki apache-jena


    【解决方案1】:

    您的 PelletReasoner 看起来很旧,并且仍在使用旧的 jena 库,而不是最新的。

    您需要找到较新版本的推理器才能使用当前的 jena,或者您需要使用较旧的 jena 版本。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    相关资源
    最近更新 更多