Re: [PyWrapper-devel] MOBY info
Status: Alpha
Brought to you by:
jatorre
From: Skofic A. M. (IPGRI) <m.s...@cg...> - 2006-11-16 10:34:31
|
I understand you have to parse a stream and not load the whole thing =20 in memory or it would be impossible to handle, but is there any way =20 to get the <summary> section someway? If I am correct, in the output model you have a <structure> part that =20= defines the model onto which you want to map the TAPIR output, in the =20= <mapping> section you map elements of the <structure> section to data =20= output section inside of the <search> part of the TAPIR response. Is =20 there any way to access elements outside of the schema the database =20 is wrapped to? For instance: <search> <Datasets> <Dataset> ... </Dataset> </Datasets> <summary start=3D"0" totalMatched=3D"25008" next=3D"50"/> <search> Are there any "system variables" to which the start=3D"0" =20 totalMatched=3D"25008" next=3D"50" could be written to once you get to =20= the end of the response? Thanks! Milko On Nov 16, 2006, at 10:09 , D=F6ring, Markus wrote: > thats right. > the summary section is at the end of the model result section cause =20= > otherwise pywrapper would have to know the numbers in advance which =20= > means keeping it in memory and no streaming. thats something we =20 > wanted to avoid when designing tapir. > > markus > > -----Original Message----- > From: pyw...@li... =20 > [mailto:pyw...@li...] On Behalf Of =20= > Skofic A. Milko (IPGRI) > Sent: Donnerstag, 16. November 2006 00:56 > To: Javier privat > Cc: PyWrapper Developers mailing list > Subject: Re: [PyWrapper-devel] MOBY info > > I think a count can be very useful, like getting the number of =20 > elements conforming to some condition. Also, it can be useful to =20 > have an idea of how many elements one must get, then use that =20 > number when setting the secondary paging parameters. > > I agree that search is enough for now, that covers most of the needs. > >> The count operation is not available for use with biomoby. There =20 >> is no way in TAPIR, apart of using XSLT on top of it, to modify =20 >> the response dynamically of a search result that has the count set =20= >> to true. > Does this mean that in an output model you don't have access to the =20= > response structure of a TAPIR result? for instance to this: > <summary start=3D"0" totalReturned=3D"0" totalMatched=3D"25008" /> > > Thanks! > > Milko > > On Nov 16, 2006, at 0:39 , Javier de la Torre wrote: > >> Hi Milko, >> >> As you correctly said the moby2TapirFilterXslt just transform a =20 >> biomoby message into a tapir filter, just the filter! not a full =20 >> TAPIR request. Take a look at the XSLT, is pretty simple. >> >> As it is implemented right now the only operations that can be =20 >> done is a search... >> >> I implemented it like because with search is the only operation =20 >> that you can do dynamic outputmodels and the only thing that it is =20= >> needed to trasnform is the filter. >> >> The count operation is not available for use with biomoby. There =20 >> is no way in TAPIR, apart of using XSLT on top of it, to modify =20 >> the response dynamically of a search result that has the count set =20= >> to true. >> >> So, again, it is not possible to create biomoby services in =20 >> pywrapper that uses a COUNT. What kind of services do you envision =20= >> to do this? If you really need it then we can think about other =20 >> possibilities but I dont know if this is necessary... >> >> Cheers. >> >> On 15/11/2006, at 19:50, Skofic A. Milko (IPGRI) wrote: >> >>> Javier, podr=EDas decirme cuando me podr=EDas dedicar un poco de =20 >>> tiempo para comprender unas cosas de como implementas el MOBY? >>> >>> Te indico las cosas que no me son claras: >>> >>> El <moby2TapirFilterXslt> que hace exactamente, transforma el =20 >>> input Moby mensaje en el filtro te b=FAsqueda TAPIR? Si eso es la =20= >>> verdad, solamente se necessita crear la parte <filter> de la =20 >>> b=FAsqueda, lo otro es automatico? >>> >>> Si yo quer=EDa hacer un MOBY service que me da el COUNT de cuantos =20= >>> registros ha encontrado como puedo hacer? El problema es que esta =20= >>> informaci=F3n me la devuelve el protocolo TAPIR, no el esquema que =20= >>> se utiliza. >>> >>> Yo har=EDa esta query; >>> >>> <?xml version=3D'1.0' encoding=3D'UTF-8'?> >>> <request> >>> <header> >>> <source accesspoint=3D"http://tapir.grinfo.net:8080/pywrapper/=20 >>> pywrapper?dsa=3DEURISCO" sendtime=3D"2006-11-13T12:54:29.43"/> >>> </header> >>> <search count=3D'true' start=3D'0' limit=3D'0'> >>> <externalOutputModel location=3D"http://eurisco.ecpgr.org/models/=20 >>> output/MCPD_EURISCO_1.00.xml"/> >>> <filter> >>> <like> >>> <concept id=3D'GENUS@mcpd_eurisco_100' /> >>> <literal value=3D'B*' /> >>> </like> >>> </filter> >>> <orderBy> >>> <concept id=3D'ACCENUMB@mcpd_eurisco_100' /> >>> </orderBy> >>> </search> >>> </request> >>> >>> Y TAPIR me devolver=EDa: >>> >>> <?xml version=3D"1.0" encoding=3D"utf-8"?> >>> <response xmlns=3D"http://rs.tdwg.org/tapir/1.0"> >>> <header> >>> <source sendtime=3D"2006-11-15T19:26:50.57" accesspoint=3D"http://= =20 >>> tapir.grinfo.net:8080/pywrapper/pywrapper?dsa=3DEURISCO_TEST"> >>> <software version=3D"2.1" name=3D"PyWrapper" /> >>> </source> >>> </header> >>> <!-- CONTENT START --> >>> <search> >>> <summary start=3D"0" totalReturned=3D"0" totalMatched=3D"25008" = /> >>> </search> >>> <!-- CONTENT END --> >>> <diagnostics></diagnostics> >>> </response> >>> >>> Ent=F3nces tendr=EDa que hacer un output model con la estructura del = =20 >>> <response> mapeado a el MOBY type? >>> >>> Ciao! >>> >>> Milko >> > > > Milko A. Skofic (IPGRI) > International Plant Genetic Resources Institute > Via dei Tre Denari, 472/a > 00057 Maccarese (RM) > ITALY > E-mail: m.s...@cg... > Tel: +30 06 6118286 > > |