PubMed mit PHP und SOAP abgefragt
15. November 2007 by Bohne-Lang Andreas | Kategorien: Bibliotheken, Computer, Literatursuche, Medizin, Medline, NLM, Publikationswesen
Gestern ist im PHP-Magazin (Ausgabe 1.2008) ein Artikel erschienen, in dem exklusiv eine PHP Klasse vorgestellt wird, mit der man die PubMed und andere Datenbanken des NCBI elegant abfragen kann:
Remote abgefragt
Die Datenbanken des US-Zentrums für Biotechnologieinformation per SOAP und PHP elegant remote abfragen http://phpmagazin.de/itr/online_artikel/psecom,id,965,nodeid,62,_language,de.html#
No tags for this post.
Related posts
Nutzung: 1,289 Aufrufe
Translations:
4 Responses to “PubMed mit PHP und SOAP abgefragt”


Hmm… erstmal war ich ganz erfreut - aber das ist wirklich nur Minimalst-Funktionalität! Insbesondere bekommt man ja immer nur 500 Treffer zurück. Da möchte man doch lieber eine Klasse, die eine Suche durchführt, die Trefferzahl zurückgibt und dann jeden einzelnen Treffer ansprechen kann…
Gruß, Martin (bastele da gerade an etwas…)
Das ist einfach zu lösen, man bekommt bei der ersten Suchanfrage die Gesamtanzahl zurück (Count).
Array(
[Count] => 603
[RetMax] => 500
[RetStart] =>0
Mit RetStart und RetMax geht man nun in 500er Schritten mit einer Schleife über alle Ergebnisse und ruft sol lange ab, bis keine mehr vorhanden sind.
Es ist halt so eine Sache, einen Source auszuliefern, bei dem mit ungeschickter Anfrage wie dem Term ‘Proteins’ in PubMed gleich 3.657.150 Treffer automatisch abgerufen werden. Wer also weiß, was er tut, wird die kleine Änderung in dem Code problemlos vornehmen können und wer nur mal spielen möchte, kommt mit 500 Treffern gut klar.
Klar ist es einfach - gerade darum ist die Klasse auch so enttäuschend. Wie man es macht hat das NCBI ja gut dokumentiert. Resourcen-sparender wird das Ganze, wenn man den Suchauftrag nur einmal stellt und dann über das WebEnv auf die selber Suchfrage zugreift.
Das 500er-Limit scheint direkt von NCBI zu stammen:
http://www.nodalpoint.org/node/1496 (Kommentar “500 limit”)
Martin
Ja, das Limit von 500 Treffern pro Suchanfrage ist vorgegeben:
“One consideration to bear in mind is that EFetch is limited to 500 records per URL.”
http://www.ncbi.nlm.nih.gov/Web/Newsltr/SummerFall04/index.html