2016-11-02 6 views
-1

следующий код используется для отправки данных rdf в конечную точку sparql.Java jena fuseki set OntModelSpec для определения гранул

Он работал нормально до тех пор, пока я не попытался добавить аргументацию к OntoModel.

Теперь компилятор говорит: «не может конвертировать из com.hp.hpl.jena.ontology.OntModelspec в org.apache.jena.ontology.OntModelSpec».

Так что мой вопрос в том, что мне нужно отредактировать, чтобы он работал? (Я знаю, что проблема obviusly в «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); 
... 
} 

ответ

2

похоже, ваш PelletReasoner очень старый и до сих пор использует старые Jena библиотеки и не самый новый.

Вам нужно найти более новую версию вашего аргумента, чтобы работать с текущей jena, или вам нужно работать со старой версией jena.

+1

Я к глупому, чтобы найти кнопку редактирования, поэтому здесь мой расширенный ответ. Вам нужно будет использовать pellet 3.0 для работы вашей программы. См. Также http://stackoverflow.com/questions/36144230/how-to-correctly-import-pellet-2-3-0-in-jena-3-0-1-eclipse – ChristophE

Смежные вопросы