SystemInformation:Pas en mesure d'ajouter des fichiers à repo supérieur à 1,5 MB
Information sur la demande Nom de l'application serveur RDF4J-
Version 2.2
Informations Durée:
Système d'exploitation Linux 3.10.0-327.36.2. el7.x86_64 (amd64)
Java Runtime Oracle Corporation OpenJDK 64 bits serveur VM (1.8.0_102)
J'utilise le api RDF4J vouloir écrire NTriples à un référentiel dans le serveur RDF4J. Les données sont dans un fichier et je peux télécharger le fichier en utilisant workbench, mais en utilisant l'API il jette une exception. Cela se produit uniquement si la taille du fichier est supérieure à 1,5 Mo.
Si j'utilise curl, il fonctionne également avec des fichiers de plus de 1,5 Mo.
curl -X POST -H "Content-type: text/plain" --data-binary @central-ReadOnly.nt http://localhost:8080/rdf4j-server/repositories/testOfUpload/statements
Donc la question est. Pourquoi échoue sur mimefile si le fichier est plus grand que 1,5 Mo?
Pourquoi le fichier est-il créé en tant que texte/brut; ?
Le fichier a été créé comme une extension .nt et je l'ai ajouté à /etc/mime.types les éléments suivants
#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)
code:
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();
}
}
}
Mec ... C'était tout !!! Merci beaucoup. – Michael
Encore une exception étrange cependant. – Michael
Toujours heureux de vous aider: D oui très étrange, vous devriez créer un problème ici https://github.com/eclipse/rdf4j/issues et ensuite les gars rdf4j vont y jeter un coup d'oeil. – ChristophE