2016-08-01 12 views
0

このプログラムの目的は、java経由でSparqlクエリを実行し、コンソールでそれぞれの結果を取得することです。NoClassDefFoundError:JavaのDbpediaのsparqlクエリを実行しようとしています。 (org/slf4j/LoggerFactor)

私は間違っていないよ場合は、エラーが原因で欠落しているjarファイルです。しかし、私の意見では、必要なjarファイルが追加されています。 次のjarファイルを追加しました:Jena-2.1.jararq-2.8.7.jar

次のように私のコードは次のとおりです。

public class Example { 

public static void main(String[] args) { 


    //http request 
    String website = "http://dbpedia.org/sparql"; 

    //whatever query we want to parse. 
    String query = "SELECT ?abstract WHERE { { <http://dbpedia.org/resource/Ronaldo> <http://dbpedia.org/ontology/abstract> ?abstract } }";     

    //query execution using the library object. 
    QueryExecution queryEx = QueryExecutionFactory.sparqlService(website, query); 


    try { 
     //results coming from the executed queries. 
     ResultSet results = queryEx.execSelect(); 

     //prints the output. 
     for(; results.hasNext();){ 
      //typecast results from set to qsolution 
      QuerySolution answer = (QuerySolution)results.next(); 

      System.out.println(answer.get("?abstract"));    

     } 
    } catch(Exception e){ 

     e.printStackTrace(); 
    } finally{ 
     queryEx.close(); 
    } 
} 

と私は受け付けており、エラーのイメージがある:

<pre>Exception in thread "main" java.lang.NoSuchMethodError: com.hp.hpl.jena.iri.IRIFactory.jenaImplementation()Lcom/hp/hpl/jena/iri/IRIFactory; 
at com.hp.hpl.jena.n3.IRIResolver.<clinit>(IRIResolver.java:42) 
at com.hp.hpl.jena.sparql.mgt.SystemInfo.createIRI(SystemInfo.java:31) 
at com.hp.hpl.jena.sparql.mgt.SystemInfo.<init>(SystemInfo.java:23) 
at com.hp.hpl.jena.query.ARQ.init(ARQ.java:373) 
at com.hp.hpl.jena.query.ARQ.<clinit>(ARQ.java:385) 
at com.hp.hpl.jena.query.Query.<clinit>(Query.java:53) 
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:68) 
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:40) 
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:28) 
at com.hp.hpl.jena.query.QueryExecutionFactory.sparqlService(QueryExecutionFactory.java:338) 
at Example.main(Example.java:27)<code> 

どれガイダンスは理解されるであろう。前もって感謝します。

+1

、ない – Jens

+0

がどうなる画像へのリンクとしてテキストとして感謝をあなたのコードとexcpetionを追加します。 –

+1

Maven、Ivy、GradleのようなビルドシステムとJenaの新しいバージョンを使用してください。 – AKSW

答えて

1

イエナ-2.1は、イエナ2.6.4用いるARQ-2.8.7.jar(2010)と互換性がありません2004年2月でした。これは、参照、現在のリリースでは2016年である

:(現在の1が3.1.0である) http://jena.apache.org/download/

を任意のイエナリリースでは、ディストリビューションで提供されるすべてのjarファイルを使用する必要があります。より良いコメントのように、使用することを学ぶmaven/gradle/...これは自動的にあなたのために起こります。異なるバージョンからジャーの部分集合を混合

はサポートと動作するように非常に低いされていません。

+0

はい、私はそれを難し​​い方法で学びました。アドバイスありがとうございます。 –

関連する問題