En la primera nota de ISIS-NBP [1], se presentaron brevemente las metas y arquitectura del proyecto.
En la segunda nota de ISIS-NBP [2] hemos intentado explicar el concepto de la Célula ISIS-NBP.
+-----------------------------+
| Databases |
| | |
| Console---Engine---Gateway |
+-----------------------------+
ISIS-NBP Cell
En esta tercera nota, nos enfocaremos en la Consola Interactiva.
La consola es una interfaz basada en líneas de comandos que proveen acceso directo e interactivo a las bases de datos administradas por la Célula. La Consola puede correr en la misma máquina donde está instalada la Célula ISIS-NBP, o puede correrse desde una máquina diferente (remota) dado que ambas máquinas sean accesibles en red.
Antes de seguir adelante, hagamos una demostración de la Consola.
Para iniciar la consola interactiva de ISIS-NBP, abra un ambiente de trabajo (terminal Unix, o ventana DOS de Windows), y escriba:
pymx i
El nombre "pymx" es un homenaje al utilitario ampliamente conocido "mx" [3], y al lenguaje de programación Python [4] usado en el desarrollo de ISIS-NBP. Este nombre puede que cambie en el futuro, quizá algo más intuitivo como "isisconsole". Una nota importante: no es necesario conocer programación Python para usar ISIS-NBP.
Tan pronto la Célula comenzó en modo interactivo, aparece el siguiente prompt:
Welcome to ISIS-NBP Cell 0.7.0 Interactive Console
Python 2.5.2 (r252:60911, Apr 21 2008, 11:12:42)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)]
Uso de la consola para verificar e inspeccionar las colecciones.
Digite 'collection' para ver un diccionario con todas las colecciones disponibles.
Digite '<Ctrl-D>' o 'exit()' y luego '<enter>' para salir.
Las colecciones disponibles son: sample, test
In [1]:
Las líneas precedidas por "
Por ejemplo, revisemos la colección (siempre) disponible llamada sample
In [1]: sample
Out[1]: Collection sample with databases: cds.mst, xf0.mst
Ahora miremos la base de datos "cds" dentro de la colección sample.
In [2]: sample.cds
Out[2]: cds (next mfn:151, type:0) in /pyisis/sample/cds.mst
También podemos mirar los contenidos de un registro, haciendo:
In [3]: sample.cds[1]
Out[3]: mfn=1 length=8 (active)
69: Paper on: <plant physiology><plant transpiration><measurement
and instruments>
70: Magalhaes, A.C.
70: Franco, C.M.
44: Methodology of plant eco-physiology: proceedings of the
Montpellier Symposium
50: Incl. bibl.
24: Techniques for the measurement of transpiration of
individual plants
26: ^aParis^bUnesco^c-1965
30: ^ap. 211-224^billus.
Si solamente estamos interesados en un campo o subcampo en particular, hay varias formas de lograr el mismo resultado.
In [4]: sample.cds[1][26]
Out[4]: ^aParis^bUnesco^c-1965
In [5]: sample.cds[1].v26
Out[5]: ^aParis^bUnesco^c-1965
In [6]: sample.cds[1].v26.a
Out[6]: Paris
In [7]: sample.cds[1].v26["a"]
Out[7]: Paris
In [8]: sample.cds[1][26]["a"]
Out[8]: Paris
Si conoce los comandos básicos de formato de salida de ISIS, entendrá los ejemplos muy rápidamente, porque son muy muy muy similaes
muy
Sintaxis: sample.cds[mfn] [tag] En el ejemplo de arriba, registro 1, tag del campo 26
sample.cds[mfn].vtt Sintaxis alternativa
Prueba: Hay dos formas alternativas para obtener el dato de un subcampo. ¿Podría explicarlas?
Nota: es posible mezclar los modos alternativos para extraer campos y subcampos, funcionan en forma equivalente.
Tambien podemos crear "alias" para los recursos que usaremos con frecuencia.
In [12]: base = sample.cds
In [13]: r = base[3]
In [14]: r
Out[14]: mfn=3 length=7 (active)
69: Paper on: <plant physiology><moisture><temperature><wind>
<measurement and instruments><ecosystems>
70: Bosian, G.
44: Methodology of plant eco-physiology: proceedings of the
Montpellier Symposium
50: Incl. bibl.
24: Control of conditions in the plant chamber: fully automatic
regulation of wind velocity, temperature and relative humidity
to conform to microclimatic field conditions
26: ^c1965
30: ^ap. 233-238 ^billus.
In [15]: r.v30.b
Out[15]: illus.
Note en el ejemplo de arriba que no todos los compandos input (In) generan salidas (Out). En la próxima nota seguiremos explorando la Consola.
Esta nota es un incentivo, la tercera de una serie que dará detalles adicionales de la Célula ISIS-NBP, las metas del proyecto y el estado de desarrollo. En la sección de referencias abajo, le damos direccones de las notas anteriores.<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
Referencias
[1] 1st Isis-NBP nugget
https://listserv.surfnet.nl/scripts/wa.cgi?A2=ind0805&L=cds-isis&D=0&T=0&P=4926
[2] 2nd Isis-NBP nugget
https://listserv.surfnet.nl/scripts/wa.cgi?A2=ind0806&L=cds-isis&D=0&T=0&P=2409
[3] mx es el utilitario principal del paquete CISIS desarrollado por BIREME
http://bvsmodelo.bvsalud.org/php/level.php?lang=es&component=31&item=1
[3] Python programming language
http://www.python.org
Ernesto Spinak
spinaker@adinet.com.uy
Montevideo, Uruguay
tel/fax (5982) 622-3352
celular (598) 99612238
No hay comentarios.:
Publicar un comentario