0

セマンティック データ テクノロジの処理に関して、さらにいくつかの問題があります。マシンでローカルに実行されている GraphDB Triplestor があり、RDF4J と Java を使用して、それに対していくつかの SPARQL クエリをスケジュールしようとしています。以下のコードからわかるように、10 個のクエリが連続して起動されます。ただし、起動されるのは 5 つだけです (コンソールに番号 0 ~ 4 が表示されます)。問題は、何らかの理由で開いている HTTP 接続が 5 つに制限されていることです。repConn.close() を呼び出しても何も変わらないようです。アイデアはありますか?

import org.eclipse.rdf4j.query.QueryLanguage;
import org.eclipse.rdf4j.query.TupleQuery;
import org.eclipse.rdf4j.query.TupleQueryResult;
import org.eclipse.rdf4j.repository.RepositoryConnection;
import org.eclipse.rdf4j.repository.http.HTTPRepository;

public class testmain {

public HTTPRepository rep;
public RepositoryConnection repConn;

public static void main(String[] args) {

    testmain test = new testmain();

    test.rep = new HTTPRepository("http://localhost:7200/repositories/test01");

    //test.repConn = test.rep.getConnection();

    for (int i = 0; i < 10; i++) {

        test.repConn = test.rep.getConnection();
        String queryString = "select ?archiveID where { ?video <http://www.some.ns/ontology##hasArchiveID> ?archiveID .}";

        try {
            TupleQuery tupleQuery = test.repConn.prepareTupleQuery(QueryLanguage.SPARQL, queryString);
            TupleQueryResult queryResult = tupleQuery.evaluate();
        } finally {
            test.repConn.close();
        }

        System.out.println(i);

    }
}

}

4

1 に答える 1