Outils pour utilisateurs

Outils du site


public:specs:specs_persistance

Persistance

TXM utilise différentes stratégies et différents composants pour la persistance :

  • le workspace d'Eclipse RCP
  • les fichiers de configuration de TXM (txm.ini…)
  • les répertoires de corpus binaires :
    • fichiers de registre (import.xml) pour les partitions, sous-corpus, liens aux éditions, requêtes, etc.
    • index CQP
    • les pages HTML d'éditions
    • les répertoires d'images
    • les index d'autres moteurs (TIGERSearch)
    • etc.
  • les référentiels de catégories
  • le répertoire de résultats (results)
  • le répertoire des macros et scripts
  • le répertoire des xsl
  • le catalogue des schémas XML
  • l'environnement R

Ces composants utilisent des formats adhoc reposant sur des représentations TXT, XML ou binaire.

Cette spécification vise à intégrer d'autres composants de persistance, locaux ou distants :

  • SGBDR (par SQL)
  • bases XML (par XQuery…)
  • etc.

On s'intéresse également à des composants de persistance en tant que tel propres à Java (Hibernate, le framework de persistance d'Eclipse, etc.).

Bases Relationnelles

Solution

Le plus immédiat est :

  • de piloter une base par l'API JDBC
  • de choisir une implémentation native Java : HSQLDB

Tickets : ???

Recette

Pour confirmer le bon fonctionnement de base de l'accès relationnel on utilise la première étape de jointure de lexiques de la recette Palafra V3 :

  • importer la table lexiqueA depuis le fichier lexiqueA.tsv
  • importer la table lexiqueB depuis le fichier lexiqueB.tsv
  • faire la jointure sur X entre les lexiques lexiqueA et lexiqueB
  • afficher les lignes de jointure

Cette recette doit être réalisée dans la solution et dans une implémentation de référence. On compare les résultats et les performances, éventuellement pour différentes tailles de lexiques (pour estimer une courbe de charge).

Implémentations de référence possibles :

  • clients :
    • code Java/jdbc (solution)
    • script Groovy/jdbc
    • logiciel en ligne de commande
    • plugin UI Eclipse
    • logiciel UI Linux
  • serveur :
    • Hsqldb (solution)
    • Sqlite
    • MySQL
    • PostgreSQL

Etat courant

lien vers les spécifications de corpus :

Le paramètre “-configuration” de la ligne de commande de lancement de TXM du script de lancement de TXM indique où le choix du répertoire de travail (workspace RCP) doit être enregistré. Les scripts de lancement (TXM.bat, TXM.sh et TXM) utilisent tous le chemin $HOME/.TXM-0.8.0

Depuis la version 0.8.0 TXM utilise les mécanismes de Workspace et de Project Eclipse. La racine du Workspace est $HOME/TXM-0.8.0.

Chaque corpus est représenté par un Project Eclipse dans un sous répertoire du répertoire “corpora” du workspace RCP.

Aperçu de la structuration générale d'un dossier de corpus nommé CORPUS1

  • CORPUS1 (dossier du projet RCP)
    • .settings (dossier des préférences du corpus et des objets de résultats TXM persistés)
    • cqp (contient les fichiers source du corpus CQP)
    • data\CORPUS1 (indexes CQP)
    • HTML\CORPUS1\default (dossiers des éditions “default” HTML et CSS)
    • HTML\CORPUS1\xyz (autre édition)
      • css
      • images
      • js
    • registry (dossier du fichier de registry CQP)
    • txm
      • CORPUS1 (fichiers XML TXM)
      • CORPUS1_previous (version antérieure du corpus à la sauvegarde des annotations en concordance)
      • CORPUS1x_tmp (version temporaore de travail du corpus pour la sauvegarde des annotations en concordance)
    • xsl

Dossier partagé

Le dossier TXM_HOME\results contient les résultats mélangés de tous les corpus des commandes de graphique en mode R/SVG et les fichiers .html de la commande Propriétés d'un corpus. Ces fichiers ne sont pas réutilisés entre deux sessions de TXM et de nouveaux fichiers sont donc recréés à chaque fois.

Extensions

  • CORPUS1 (dossier du projet RCP)
    • analec (dossier de sauvegarde des annotations URS) → à renommer “urs” mais laisser tel quel pour la rétrocompatibilité avec 0.7.8)
    • annotations* (fichier XML-TXM standoff des annotations TreeTagger de l'import)
    • temporary_annotations\CORPUS1 (base de donnée des annotations en concordance)
    • ptokenized* (répertoire de travail, utilisé par certain modules, peut contenir le résultat d'une pre-tokenisation)
    • ptreetagger* (répertoire de travail, contient les fichiers-tabulés sources pour TreeTagger)
    • stokenized* (répertoire de travail de l'import XML/w pour le sentencer)
    • tokenized* (répertoire de travail, contient les fichiers résultats du tokenizer)
    • treetagger* (répertoire de travail, contient le résultat de l'annotation TreeTagger)

* ces répertoires sont supprimés par défaut après l'import, sauf si l'option “clean temporary directories” est décochée dans le formulaire d'import

Corpus / sous-corpus / partitions

  • méthode : fichiers XML-TXL, fichiers CQP
  • localisation :

Editions

  • méthode : fichiers HTML, CSS
  • localisation :

Dictionnaires

  • méthode : SGBD
  • localisation :

Référentiels

  • méthode : distant et fichiers
  • localisation :

Doc

public/specs/specs_persistance.txt · Dernière modification: 2019/05/09 11:27 par sebastien.jacquot@univ-fcomte.fr