2017-02-16 33 views
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(); 
     } 
    } 
} 

回答

1

您是否已经尝试使用HTTPRepository而不是SPARQLRepository?也许这解决了你的问题。

+0

老兄......就是这样!非常感谢。 – Michael

+0

虽然还是奇怪的例外。 – Michael

+0

总是乐于提供帮助:D是的很奇怪,你应该在这里创建一个问题https://github.com/eclipse/rdf4j/issues,然后rdf4j家伙会看看它。 – ChristophE

相关问题