fehler bei der transaktion in jena tdb?

Ich versuche, Eigenschaften in ein Modell zu schreiben und es dann abzufragen. Dieser Teil von mycode:

String directory = "EMAILADDRESS" ;
//create the dataset for the tdb store
Dataset ds = TDBFactory.createDataset(directory) ;
//create default rdf model
ds.begin(ReadWrite.WRITE);
Model model = ds.getDefaultModel() ;
//write to the tdb dataset

Wenn ich dies schreibe und dann abfrage, zeigt die Abfrage kein Ergebnis ... aber wenn ich die Reihenfolge des Modells vertausche und beginne, d.h.

Model model = ds.getDefaultModel() ;
//write to the tdb dataset     
ds.begin(ReadWrite.WRITE);

Dann funktioniert es gut !! aber es gibt manchmal diesen Fehler:

com.hp.hpl.jena.tdb.transaction.TDBTransactionException: Not in a transaction

Ich weiß, dass der erste Weg korrekt ist, aber ich verstehe nicht, warum er nicht auf Anfragen reagiert. Dies ist ein Code zum Fragen:

public class test4query extends Object {
    public static String[] arr=new String[30];
    public  void  mai (String s) {
        String directory = "EMAILADDRESS" ;
        Dataset ds = TDBFactory.createDataset(directory) ;
        ds.begin(ReadWrite.READ) ;
        Model model = ds.getDefaultModel() ;

        QueryExecution qExec = QueryExecutionFactory.create(s, ds) ;
        int i=0;
        try{
             ResultSet rs = qExec.execSelect() ;
             String x=rs.toString();

             while (rs.hasNext()) {
                 QuerySolution qs = rs.next();
                 String rds;
                 if(qs.get("x")!=null) {
                    rds = qs.get("x").toString();
                 } else {
                    rds="hi";
                 }
                 if(rds==null) {
                    break;
                 }
                 System.out.println(rds);
                 arr[i] = rds;
                 i++;   
             }
        } finally
             {qExec.close() ;
             ds.commit();
             ds.end();
        }

    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage