2017-02-16 3 views
0

Информация о системе:не в состоянии добавить файл Repo больше, чем 1.5 MB

Применение Информация Имя приложения RDF4J-сервер
Version 2.2
время выполнения Информация:
операционной системы Linux 3.10.0-327.36.2. el7.x86_64 (amd64)
Java Runtime корпорации Oracle OpenJDK 64-разрядный сервер VM (1.8.0_102)

Я использую RDF4J апи желающий написать NTriples в хранилище в RDF4J сервере. Данные находятся в файле, и я могу загрузить файл с помощью инструментария, но с помощью api он генерирует исключение. Это происходит только в том случае, если размер файла больше 1,5 МБ.
Если я использую завиток, он также работает с файлами размером более 1,5 МБ.

curl -X POST -H "Content-type: text/plain" --data-binary @central-ReadOnly.nt http://localhost:8080/rdf4j-server/repositories/testOfUpload/statements 

Так что вопрос. Почему не выполняется mimetype, если файл больше 1,5 МБ?
Почему файл создан как текст/plain; ?
Файл был создан в качестве .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

Смежные вопросы