Subversion Repositories eFlore/Projets.eflore-projets

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
733 3979 d 2 h raphael /trunk/services/modules/0.1/commun/ ontologies: support de requêtes multi-critères pour les ontologies (partie 2/2).
Lorsque des ontologies sont demandées, celles-ci peuvent désormais être regroupées
au sein d'une même requête.
La modification, portée à Commun/Ontologie.php affecte donc les web-services n'ayant *pas*
redéfini leur classe d'accès aux ontologies, c'est à dire (au 28/06/2013):
* nvjfl
* bdnt

Exemple:
Avant, 3 requêtes:
/service:eflore:0.1/nvjfl/ontologies/numStatut:1
/service:eflore:0.1/nvjfl/ontologies/numStatut:2
/service:eflore:0.1/nvjfl/ontologies/genreNombre:10

Après, 1 requête:
/service:eflore:0.1/nvjfl/ontologies/numStatus:1,numStatus:2,genreNombre:10

Dans le seul cas d'une requête multi-critères le format de retour du web-service
a été modifié: Un ensemble de clef-valeurs est retourné dans lequel chaque clef
représente le nom d'un des critères demandés.
Si un critère ne correspond à rien dans la BDD, celui-ci est absent de l'ensemble retourné.


$ ddiff \
<(GET "http://eflore/$i"|json_pp) \
<(GET "http://www.tela-botanica.org/$i"|json_pp)

# service:eflore:0.1/nvjfl/noms-vernaculaires/attributions?masque.nt=1382&masque.lg=fra&retour.champs=conseil_emploi
# 2 appels d'ontologies nvjfl, résultat identique

# service:eflore:0.1/bdtxa/taxons/13517/relations/inferieurs
# 1 appel d'ontologie bdnt/nom, résultat identique

$ diff \
<(GET http://eflore/service:eflore:0.1/bdnt/ontologies/rangTaxo:70|json_pp) \
<(GET http://eflore/service:eflore:0.1/bdnt/ontologies/rangTaxo:70,rangTaxo:-1|json_pp) \
|grep -v rangTaxo:70
# même résultat (-1 n'existe pas)

Le comparatif suivant provient de l'étude de la requête suivante,
représentative d'une recherche de nom commun (cf: Cel/export XLS):
"/service:eflore:0.1/nvjfl/noms-vernaculaires/attributions?masque.nt=1382&masque.lg=fra&retour.champs=conseil_emploi"

Avant Après
Requêtes HTTP 3 2
Connexions SQL 4 3
SELECT 15 10
Temps sur 300 (*) 1m36 1m30

(*) $ time \
mysql -N tb_eflore<<<"SELECT num_taxonomique FROM bdtfx_v1_01 WHERE num_nom = num_nom_retenu ORDER BY ORD(SUBSTRING(nom_sci, 4, 1)) LIMIT 300;" | \
xargs -i -t -n 1 curl -so /dev/null "http://eflore/service:eflore:0.1/nvjfl/noms-vernaculaires/attributions?masque.nt={}&masque.lg=fra&retour.champs=conseil_emploi";

Le faible différentiel de temps observable s'explique partiellement par le fait que toutes les recherches de nom vernaculaire
n'aboutissent pas systématiquement à l'émission de plusieurs requêtes d'ontologie.
Le différentiel n'en reste pas moins décevant.
 
/trunk/services/modules/0.1/commun/Ontologies.php
732 3979 d 2 h raphael /trunk/services/modules/0.1/commun/ ontologies communes: fix cosmétiques.
1° usage du paramètre retour.champs qui n'était pas utilisé jusqu'ici et n'aurait
pas pu être utilisé dans le cas d'un retour.format différent de "max".

2° ajout d'un commentaire relatif aux SELECT imbriqués actuellement utilisés et
auxquel une série de JOIN serait à préférer.

3° clarification de formaterOntologiesId()

4° réécriture et renommage afficherDonnees() en calculerClassID().
Une variable est passée par référence en paramètre de la fonction et
les conditions imbriquées sont remplacées par des return rapides.
La gestion des champs demandés est améliorée.
 
/trunk/services/modules/0.1/commun/Ontologies.php
654 4070 d 22 h jpm /trunk/services/modules/0.1/commun/ Mise en formet et commentaires.  
/trunk/services/modules/0.1/commun/Commun.php
609 4291 d 5 h mathilde /trunk/services/modules/0.1/commun/ correction commentaire  
/trunk/services/modules/0.1/commun/Commun.php
597 4304 d 5 h mathilde /trunk/services/modules/0.1/commun/  
/trunk/services/modules/0.1/commun/Commun.php
593 4310 d 2 h mathilde /trunk/services/modules/0.1/commun/ ajout de nouvelles valeurs possibles pour navigation.limite  
/trunk/services/modules/0.1/commun/Commun.php
563 4337 d 1 h aurelien /trunk/services/modules/0.1/ correction d'un constructeur appelé sans paramètres qui causait une erreur  
/trunk/services/modules/0.1/commun/Commun.php
/trunk/services/modules/0.1/coste/Textes.php
/trunk/services/modules/0.1/nvjfl/NomsVernaculaires.php
536 4353 d 3 h gduche /trunk/services/ cache des webservices  
/trunk/services/bibliotheque/CacheEflore.php
/trunk/services/configurations/config_bdtfx.ini
/trunk/services/configurations/config_bibliobota.ini
/trunk/services/configurations/config_coste.ini
/trunk/services/configurations/config_eflore.ini
/trunk/services/configurations/config_nvjfl.ini
/trunk/services/modules/0.1/Projets.php
/trunk/services/modules/0.1/bdtfx/Noms.php
/trunk/services/modules/0.1/bibliobota/Publications.php
/trunk/services/modules/0.1/cel/Images.php
/trunk/services/modules/0.1/commun/Commun.php
/trunk/services/modules/0.1/commun/MetaDonnees.php
/trunk/services/modules/0.1/coste/Textes.php
/trunk/services/modules/0.1/nvjfl/NomsVernaculaires.php
/trunk/services/modules/0.1/wikipedia/Textes.php
535 4354 d 1 h mathilde /trunk/services/modules/0.1/commun/  
/trunk/services/modules/0.1/commun/Commun.php
457 4391 d 23 h mathilde /trunk/services/modules/0.1/commun/  
/trunk/services/modules/0.1/commun/Commun.php
291 4494 d 0 h aurelien /trunk/services/modules/0.1/commun/ Remplacement d'un égal par un in dans une sous requete qui peut parfois rendre plusieurs valeurs  
/trunk/services/modules/0.1/commun/Ontologies.php
278 4498 d 22 h jpm /trunk/services/modules/0.1/commun/ Correction service meta-donnes couverture temporelle start et end.  
/trunk/services/modules/0.1/commun/MetaDonnees.php
265 4505 d 4 h jpm /trunk/services/ Suppression du projet commun remplacé par eFLore.  
/trunk/services/configurations/config_commun.ini
/trunk/services/modules/0.1/commun/Commun.php
239 4515 d 2 h delphine /trunk/services/modules/0.1/commun/ debug de version.projet et retour.langue  
/trunk/services/modules/0.1/commun/MetaDonnees.php
236 4517 d 23 h delphine /trunk/services/ debuggage pour que les services fonctionnent avec la classe Projets  
/trunk/services/configurations/config_commun.ini
/trunk/services/modules/0.1/chorodep/Observations.php
/trunk/services/modules/0.1/commun/Aide.php
/trunk/services/modules/0.1/commun/Commun.php
/trunk/services/modules/0.1/commun/MetaDonnees.php
151 4562 d 23 h delphine /trunk/services/modules/0.1/commun/ suppression du _v dans la version  
/trunk/services/modules/0.1/commun/Commun.php
92 4577 d 22 h jpm /trunk/services/modules/0.1/commun/ Correction de la gestion des versions de projet demandées.  
/trunk/services/modules/0.1/commun/Commun.php
88 4578 d 1 h delphine /trunk/services/modules/0.1/commun/ traiter version projet envoie de la version dans les url  
/trunk/services/modules/0.1/commun/Commun.php
/trunk/services/modules/0.1/commun/Ontologies.php
81 4580 d 23 h delphine /trunk/services/modules/0.1/ traiter version projet envoie de la version dans les url  
/trunk/services/modules/0.1/bdtfx/CommunNomsTaxons.php
/trunk/services/modules/0.1/commun/Commun.php
8 4588 d 6 h jpm /trunk/services/modules/0.1/commun/ Utilisation des paramètres GET bruts.  
/trunk/services/modules/0.1/commun/MetaDonnees.php
/trunk/services/modules/0.1/commun/Ontologies.php

Show All