Chargement Verly grand fichier RDF dans openrdf gestionnaire de l'ontologie Sésame

StackOverflow https://stackoverflow.com/questions/3545975

  •  30-09-2019
  •  | 
  •  

Question

Je dois charger très grande ontologie représentée sous forme de fichier N-triplets (1Go) à l'application openrdf Sésame. J'utilise l'interface établi pour le faire. Je sais que ce fichier est trop grand pour être chargé dans une requête. Pour contourner cela, je Splitted mes fichiers dans les fichiers de taille 100mb. Mais je reçois une erreur encore former le openrdf serveur Sesame:

HTTP ERROR 500

Problem accessing /openrdf-workbench/repositories/business/add. Reason:

    Unbuffered entity enclosing request can not be repeated.
Caused by:

org.apache.commons.httpclient.ProtocolException: Unbuffered entity enclosing request can not be repeated.
 at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:487)

Quelqu'un at-il une bonne connaissance de openrdf Sésame ou tout autre gestionnaire de l'ontologie que je pourrais utiliser pour ma tâche?

Merci beaucoup pour votre entrée

K.

Était-ce utile?

La solution

Le Sésame Workbench est vraiment pas l'outil idéal pour ce genre de tâches - bien que je pense qu'il soit en mesure de faire face à 100Mo fichiers. Il est peut-être que le Tomcat sur lequel vous exécutez Sésame a un ensemble limite POST? Vous pouvez demander autour sur Sesame liste de diffusion, il y a assez peu de gens connaissent aussi. Mais voici deux idées possibles pour faire avancer les choses:

Une façon de gérer cela est de faire télécharger un programme, en utilisant l'API du référentiel de Sésame. Jetez un oeil à la documentation utilisateur sur le site Sésame pour des exemples de code.

Par ailleurs, si vous utilisez un magasin natif Sésame, vous pouvez faire un « sale » solution de contournement en utilisant la console de ligne de commande de Sésame: créer un magasin triple natif local et transférer vos données vers ce magasin (cela devrait être beaucoup plus rapide, car aucun communication HTTP est nécessaire). Ensuite, arrêtez votre serveur Sesame, copiez les fichiers de données du magasin d'origine locale sur les fichiers de données de stocker dans votre serveur et redémarrez.

Autres conseils

J'ai eu le même problème. Lorsque j'ai essayé de télécharger « grand » RDF (environ 40 Mo), le processus téléchargement faild avec l'erreur:

  

entité Unbuffered demande renfermant ne peut pas être répétée.

J'essayer d'autres wersion de Tomcat et aussi le sésame, mais sans succès. Ensuite, je tente d'utiliser la console de sésame et dépôt local (non localhost sur tomcat serveur - comme Jeen dit dans une autre réponse) il me montre une autre erreur:

  

Document malformée: JAXP00010001: L'analyseur a rencontré plus de « 64000 » extensions d'entités dans le présent document; c'est la limite imposée par le JDK. [Ligne 1, colonne 1]

Je pense donc que l'erreur au sujet de l'entité limite est couvert quelque part dans tomcat par erreur au sujet de l'entité Umbuffered.

Alors j'ai trouvé ce sujet

Je ne sais pas exactement quelle tâche que vous espérez atteindre, mais vous pouvez vouloir vérifier ici pour une liste des magasins triple évolutives avec des résultats d'évolutivité informels (principalement auto-revendiqué). Dans ce, Sésame rapporte que les déclarations de 70M manipulation (pas tant ... pourrait être la cause de vos problèmes.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top