0
Systeminformation:無法將文件添加到回購大於1.5 MB
應用信息 應用名稱RDF4J服務器
2.2版
運行時信息:
操作系統Linux 3.10.0-327.36.2。 el7.x86_64(AMD64)
Java運行甲骨文公司的OpenJDK 64位服務器VM(1.8.0_102)
我使用RDF4J API想寫NTriples在RDF4J服務器的存儲庫。 數據位於文件中,我可以使用工作臺上傳文件,但使用api會引發異常。這隻發生在文件大小大於1.5MB的情況下。
如果我使用curl,它也適用於大於1.5MB的文件。
curl -X POST -H "Content-type: text/plain" --data-binary @central-ReadOnly.nt http://localhost:8080/rdf4j-server/repositories/testOfUpload/statements
所以,問題是。如果文件大於1.5MB,爲什麼在mimetype上失敗?
爲什麼將文件創建爲文本/純文本; ?
文件已被創建爲.NT延伸和我在/etc/mime.types添加了以下
#MIME type Extensions
application/n-triples nt
-
org.eclipse.rdf4j.query.UpdateExecutionException: Unsupported MIME type: application/x-www-form-urlencoded
Message!!error executing transaction
org.eclipse.rdf4j.repository.RepositoryException: error executing transaction
at org.eclipse.rdf4j.repository.sparql.SPARQLConnection.commit(SPARQLConnection.java:438)
at dk.skat.rdfconsolidation.Application.writeStatementsToRepository(Application.java:215)
at dk.skat.rdfconsolidation.Application.run(Application.java:72)
at dk.skat.rdfconsolidation.Application.main(Application.java:34)
代碼:
protected void writeStatementsToRepository(String endpoint, String fileName) throws IOException {
File inputfile = new File(fileName);
Repository repo = new SPARQLRepository(endpoint);
repo.initialize();
try (RepositoryConnection con = repo.getConnection()) {
con.begin();
try {
con.add(inputfile, null, RDFFormat.NTRIPLES);
con.commit();
} catch (RepositoryException e) {
System.out.println("ERROR!!" + e.getCause());
System.out.println("Message!!" + e.getMessage());
e.printStackTrace();
System.out.println("endpoint" + endpoint);
System.out.println("inputfile" + inputfile);
System.out.println("fileName" + fileName);
con.rollback();
}
}
}
老兄......就是這樣!非常感謝。 – Michael
雖然還是奇怪的例外。 – Michael
總是樂於提供幫助:D是的很奇怪,你應該在這裏創建一個問題https://github.com/eclipse/rdf4j/issues,然後rdf4j傢伙會看看它。 – ChristophE