-1
以下代码用于将rdf数据发送到sparql端点。Java jena fuseki set OntModelSpec粒子推理器
它一直很好,直到我试图添加一个推理到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);
...
}
我很愚蠢的找到编辑按钮,所以在这里我的扩展答案。你需要使用pellet 3.0为你的程序工作。另见http://stackoverflow.com/questions/36144230/how-to-correctly-import-pellet-2-3-0-in-jena-3-0-1-eclipse – ChristophE