https://jena.apache.org/documentation/fuseki2/fuseki-server-protocol.html Читая документацию, мы видим, что можем отправить запрос POST, содержащий определения ассемблера .ttl, в конечную точку Fuseki. Хотя при попытке этого мое приложение не получает никакого ответа от сервера.
Я пытаюсь этот код в Java:
/**
* This Method creates a persistent TDB2 in Fuseki Server by a POST request
* @param name Name of the DataSet to be Created
* @throws MalformedURLException
* @throws ProtocolException
* @throws UnsupportedEncodingException
*/
public void createDatasetInFuseki(String name) throws Exception{
try {
HttpURLConnection conn = (HttpURLConnection) new URL(server_location + "/$/datasets").openConnection();
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
File assembler_file = new File("C:\\Users\\Carlos\\Desktop\\fuseki-assembler.ttl");
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
try {
InputStream fis = new FileInputStream(assembler_file);
int content;
//Read .ttl content by InputStream
while ((content = fis.read()) != -1) {
writer.write((char) content); //Write the readed content in http OutPutStream
}
} catch (IOException e) {
e.printStackTrace();
}
writer.flush();
writer.close();
os.close();
String fuseki_response = conn.getResponseMessage();
conn.connect();
}finally {}
}
Я хотел бы знать, как POST файл правильно на сервер через Java клиента, если возможно.