Ancestris - Forum

Ancestris Support => FRANÇAIS => Topic started by: jmb on September 29, 2012, 10:14:15

Title: Exporter la table
Post by: jmb on September 29, 2012, 10:14:15
Pour des raisons de confort, je souhaiterais ouvrir la table des entités avec un tableur ou une base de données afin de pouvoir y appliquer des requêtes.
Est-il possible de l'enregistrer ou exporter dans un format genre .csv ou autre.
Si oui comment faire?
Merci pour toute réponse.
Title: Re : Exporter la table
Post by: arvernes on September 30, 2012, 07:10:45
Bonjour,
A priori non, je ne connais pas de fonction d'export de la table aujourd'hui. Peut être que ce que tu souhaites serait réalisable par un rapport, ou script. Il me semble cependant que la dissociation du code de la Table a été faite par Daniel dernièrement, donc pour la suite, peut être cela pourrait être une fonction à y rajouter. Déjà plusieurs nouvelles fonctions sont envisagées pour la table, alors si celle que tu demandes ne semble pas trop compliquée, à voir....... Francois
Title: Re: Exporter la table
Post by: JoPol on September 30, 2012, 18:19:43
The plugin with SPARQL based reports might be of help. Make a local copy of the XSL and choose XML output. Paste the result into a spreadsheet.

Actually I'm working on a help page to create reports from a command line. It can produce csv output what can be read by many spread sheet tools. Follow the link "more than you want to know" on the help page under construction. Use the option "--help" to learn more about the commands.
Title: Re: Exporter la table
Post by: JoPol on September 30, 2012, 18:37:30
You could also write your queries (=requêtes?) directly in SPARQL.
Title: Re:Re : Exporter la table
Post by: jmb on October 01, 2012, 08:31:31
J'ai essayé SPARQL avec ancestris 0.7 et 0.8.
J'ai eu le même message d'erreur:
*** exception caught
java.io.FileNotFoundException:
   at java.io.RandomAccessFile.open(Native Method)
   at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
   at java.io.RandomAccessFile.<init>(RandomAccessFile.java:118)
   at genjreports.rdf.ReportRdf.getQuery(ReportRdf.java:296)
   at genjreports.rdf.ReportRdf.start(ReportRdf.java:100)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:601)
   at genj.report.Report.start(Report.java:835)
   at genj.report.Runner.run(Runner.java:68)
   at java.lang.Thread.run(Thread.java:722)

Title: Re: Exporter la table
Post by: JoPol on October 01, 2012, 10:17:09
Please go to the help pages. You need to save the examples of rules and queries and fill in their file names in the options panel.
Title: J'ai réussi à exporter deux tables
Post by: jmb on October 09, 2012, 16:46:58
J'ai utilisé le rapport SPARQL soit avec ancestris 0.7 soit avec 0.8.
Les options figurent dans Options_SPARQL.PNG ci-joint.
Le fichier Regles_jmb.txt est vide car je n'ai rien à ajouter au fichier ged.
Le fichier Requete_jmb.txt dépend de ce que je cherche.

Pour l'inventaire des Individus, j'utilise :
SELECT
  (str(?id) as ?ID)
  ?nom
  ?prenom
  ?s
  ?Date_Nais
  ?Lieu_Nais
  ?Date_Deces
  ?Lieu_Deces
 
 WHERE
{
  ?a   p:id   ?id.
  ?a    p:SEX [rdfs:label ?s].
OPTIONAL     {?a   p:NAME [p:SURN [rdfs:label ?nom]]}
OPTIONAL   {?a p:NAME [p:GIVN [rdfs:label ?prenom]]}
OPTIONAL   {?a p:BIRT [p:DATE [rdfs:label ?Date_Nais]]}
OPTIONAL   {?a p:BIRT [p:PLAC [rdfs:label ?Lieu_Nais]]}      
OPTIONAL   {?a p:DEAT [p:DATE [rdfs:label ?Date_Deces]]}
OPTIONAL   {?a p:DEAT [p:PLAC [rdfs:label ?Lieu_Deces]]}
}
ORDER BY ?nom ?prenom
Comme seuls les individus ont un sexe, seules les fiches indi sont explorées.
La commande OPTIONAL est indispensable lorsque le nom (par exemple) est vide.

Pour l'inventaire des Familles, j'utilise :
SELECT
 (str(?id) as ?ID)
 ?dateMariage
 ?n_mari
 ?p_mari
 ?n_femme
 ?p_femme
 ?Lieu_Mariage
 
 WHERE
{
  ?a   p:id   ?id.
OPTIONAL    {?a p:MARR  [p:PLAC [rdfs:label ?Lieu_Mariage]]}   
OPTIONAL   {?a p:MARR   [p:DATE [rdfs:label ?dateMariage]]}
OPTIONAL   {?a p:HUSB   [p:NAME [p:SURN [rdfs:label ?n_mari]]]}
OPTIONAL   {?a p:HUSB   [p:NAME [p:GIVN [rdfs:label ?p_mari]]]}
OPTIONAL   {?a p:WIFE   [p:NAME [p:SURN [rdfs:label ?n_femme]]]}
OPTIONAL   {?a p:WIFE   [p:NAME [p:GIVN [rdfs:label ?p_femme]]]}
FILTER (fn:contains(?id,'F'))
}
ORDER BY ?n_mari ?n_femme
La commande FILTER reconnait les familles.

Ensuite je récupère le fichier report.txt dans un éditeur de texte et j'utilise la commande remplacer pour nettoyer les dates qui ne sortent pas de façon homogène:
remplacer @#DFRENCH R@ par rien pour le calendrier révolutionnaire,
remplacer T..:..:..Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> par rien pour les autres (avec Notepad ++)(. est un joker).
Ensuite j'enregistre report.txt et l'ouvre avec Calc de LibreOffice : voir Options_Calc.PNG

Durée de la manipulation 5 mn pour les 2 feuilles mais mon fichier ged ne fait que 400Ko pour 640 Familles et 1600 Individus.
On peut gagner du temps en ne créant qu'une fois gedcom.n3, la 2ème fois il suffit de cocher la case : lire une conversion précédemment sauvegardée de Options_SPARQL

Merci à JoPol, même si j'ai un peu de mal avec l'anglais, c'est essentiellement à partir de ses documents et exemples que j'ai réussi.
Title: Re: Exporter la table
Post by: JoPol on October 09, 2012, 18:08:20
Glad to be of service.

Hints:

WHERE {?a a t:INDI; p:id ?id.
WHERE {?a a t:FAM; p:id ?id.

then you don't need the filter or sex.

Dates could be improved by implementing the TODO's in
http://anonymous:password@arvernes.dyndns.org/fgenj/trunk/AncestrisExtensions/report.rdf/src/genjreports/rdf/SemanticGedcomUtil.java (http://anonymous:password@arvernes.dyndns.org/fgenj/trunk/AncestrisExtensions/report.rdf/src/genjreports/rdf/SemanticGedcomUtil.java)
But I no longer have a proper development environment. So if anyone else feels up to that task...