2016-03-24 27 views
0

私はsparqlのクエリ結果を配列に保存します。どうすればそれを保存できますか?これは私のJavaコードです。 javaでdatareaderを使用することは可能ですか?Sparqlのクエリ結果を配列に格納する方法は?

import com.hp.hpl.jena.query.Query; 
import com.hp.hpl.jena.query.QueryFactory; 
import com.hp.hpl.jena.query.QueryExecution; 
import com.hp.hpl.jena.query.QueryExecutionFactory; 
import com.hp.hpl.jena.query.QuerySolution; 
import com.hp.hpl.jena.query.ResultSet; 
import com.hp.hpl.jena.rdf.model.Model; 
import com.hp.hpl.jena.rdf.model.RDFNode; 
import com.hp.hpl.jena.util.FileManager; 

public class emotion{ 
public static void main(String[] args) { 
    // TODO Auto-generated method stub 

sparqltest();} 


static void sparqltest() 
{ 

FileManager.get().addLocatorClassLoader(emotion.class.getClassLoader()); 
Model model= FileManager.get().loadModel("C:/Users/avg/workspacejena32/Jena/bin/emotion.rdf"); 
//System.out.println("Connected..."); 
String queryString="PREFIX xsd: <http://www.semanticweb.org/avg/ontologies/2016/2/untitled-ontology-5#>" + 
        "PREFIX owl: <http://www.w3.org/2002/07/owl#>" + 
        "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>" + 
        "SELECT * " + 
        "WHERE" + 
        "{ xsd:angry xsd:says ?x}"; 




Query query= QueryFactory.create(queryString); 
QueryExecution qexec=QueryExecutionFactory.create(query, model); 

try { 
ResultSet rs = qexec.execSelect(); 
for (; rs.hasNext() ;) 
{ 
    QuerySolution soln = rs.nextSolution() ; 
    RDFNode a = soln.get("x") ; 
// avg = a.asNode().getLocalName(); 
    System.out.println(a.asNode().getLocalName()); 
} 
} 
finally { 

qexec.close(); 
    }}} 

私は将来の使用のための1つによって1つを呼び出すことができるところから、アレイまたは他の何かに保存したい、次のように私は結果を取得しています。

selfish 
mad 
+0

問題は何ですか?あなたはどのように作成するか知っていますか? 'ArrayList'とそれに要素を追加する? – AKSW

+0

いいえ、私はそれに要素を追加する方法を知らない。私を助けてくれますか? –

+1

@AshutoshVikramsingGiraseはArrayListを作成することは、とても基本的なJavaプログラミングです。これを行う方法がわからなければ、あなたの最善の行動はおそらく "初心者のためのJava"チュートリアルです。 :)あなたがクロールする前に実行しようとしないでください。 –

答えて

2

このようなものがあります。

List<RDFNode> result = new ArrayList<RDFNode>(); 
ResultSet rs = qexec.execSelect(); 
for (; rs.hasNext() ;) 
{ 
    QuerySolution soln = rs.nextSolution() ; 
    RDFNode a = soln.get("x") ; 
// avg = a.asNode().getLocalName(); 
    System.out.println(a.asNode().getLocalName()); 
    result.add(a); 
} 
+0

''リストをタイプすることができません 'と '' ArrayListはタイプすることができません。私はJava 6を使用しているので、これはJava 6でうまくいきますか?Java 6でのArraylistの作業ですか? –

+0

Plsはインポートを追加します。 import java.util。*を試してください。あなたのファイルの上のどこかに。 –

+0

ええ、今働いています。しかし、疑いの余地は、どのように私は今格納された要素にアクセスできますか?私はarraylistに精通していません。 –

関連する問題