2016-11-02 10 views
-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); 
... 
} 

答えて

2

あなたPelletReasonerは非常に古く、古いイエナのライブラリではなく最新のものを使用するように見えます。

現在のjenaを使用するには、新しいバージョンのreasonerを見つけるか、古いjenaバージョンで作業する必要があります。

+1

私はここで私の拡張答えを編集ボタンを見つけるためにばかげている。プログラムを動作させるにはペレット3.0を使用する必要があります。 http://stackoverflow.com/questions/36144230/how-to-correctly-import-pellet-2-3-0-in-jena-3-0-1-eclipseも参照してください。 – ChristophE

関連する問題