我有與 Jena TDB2 和 Fuseki 一起使用的帶有肥皂服務的應用程序。它工作正常,但我的應用程序在第 5 次請求從 fuseki 獲取對象后阻塞。這是代碼QueryExecution q = QueryExecutionFactory.sparqlService(serviceURI, query);ResultSet results = q.execSelect();Model model = ModelFactory.createDefaultModel();while (resultSet.hasNext()) { QuerySolution querySolution = resultSet.next(); RDFNode object = querySolution.get("?o"); if (object instanceof Literal) { model.add(querySolution.getResource("?s"), model.createProperty(querySolution.getResource("?p").toString()), object); } if (object instanceof Resource) { if (querySolution.getResource("?p").getLocalName().equals("type")) { model.add(querySolution.getResource("?s"), model.createProperty(querySolution.getResource("?p").toString()), object); } else { model.add(querySolution.getResource("?s"), model.createProperty(querySolution.getResource("?p").toString()), model.createProperty("#" + querySolution.getResource("?o").getLocalName())); } }那么什么會導致這個問題呢?我認為這是一些配置,但我沒有找到一些關于此的有用評論。
1 回答

縹緲止盈
TA貢獻2041條經驗 獲得超4個贊
該代碼不會關閉QueryExecution
.
對于外部資源(網絡連接),最好使用 Java “try-with-resource”
try(QueryExecution q = ...) { code }
這加快了操作系統資源的重用。
添加回答
舉報
0/150
提交
取消