Phase 2 : service de lookup ISBN en cascade BnF puis OpenLibrary

Recuperation des metadonnees d'un livre a partir de son ISBN, cote serveur
uniquement (aucune interface, aucune persistance).

Cascade : BnF en ISBN-13, puis BnF en ISBN-10 converti, puis OpenLibrary.
La conversion 13 -> 10 est indispensable et non optionnelle : la BnF indexe
l'ISBN tel qu'imprime, les ouvrages d'avant 2007 ne portent qu'un ISBN-10 et
sont introuvables par l'EAN-13 que lit le scanner.

Toutes les notices trouvees sont remontees (jusqu'a 5) : un meme ISBN peut
correspondre a plusieurs reeditions, le choix revient a l'utilisateur.

Le double appel /isbn puis /authors d'OpenLibrary est bien fait, avec repli
sur l'oeuvre quand l'edition ne porte aucun auteur : c'est le bug de BookLogr
(titre rempli, auteur vide) qu'il ne faut pas reproduire.

La couverture vient toujours d'OpenLibrary, avec ?default=false pour obtenir
un 404 plutot qu'une image placeholder.

87 tests xUnit, sur fixtures enregistrees : aucune dependance au reseau.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mathieu
2026-08-17 22:22:47 +02:00
co-authored by Claude Opus 5
parent 4990e41f3e
commit f8f30dbcf7
37 changed files with 1661 additions and 0 deletions
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><srw:searchRetrieveResponse xmlns:srw="http://www.loc.gov/zing/srw/" xmlns:sd="http://www.loc.gov/zing/srw/diagnostic/" xmlns:ixm="http://catalogue.bnf.fr/namespaces/InterXMarc" xmlns:mn="http://catalogue.bnf.fr/namespaces/motsnotices" xmlns="http://catalogue.bnf.fr/namespaces/InterXMarc"><srw:version>1.2</srw:version><srw:echoedSearchRetrieveRequest><srw:version>1.2</srw:version><srw:query>bib.isbn all &quot;0262033844&quot;</srw:query></srw:echoedSearchRetrieveRequest><srw:numberOfRecords>0</srw:numberOfRecords><srw:records/></srw:searchRetrieveResponse>
+24
View File
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?><srw:searchRetrieveResponse xmlns:srw="http://www.loc.gov/zing/srw/" xmlns="http://catalogue.bnf.fr/namespaces/InterXMarc" xmlns:ixm="http://catalogue.bnf.fr/namespaces/InterXMarc" xmlns:mn="http://catalogue.bnf.fr/namespaces/motsnotices" xmlns:sd="http://www.loc.gov/zing/srw/diagnostic/">
<srw:version>1.2</srw:version>
<srw:echoedSearchRetrieveRequest>
<srw:version>1.2</srw:version>
<srw:query>bib.isbn all "2080704095"</srw:query>
</srw:echoedSearchRetrieveRequest>
<srw:numberOfRecords>1</srw:numberOfRecords>
<srw:records>
<srw:record>
<srw:recordSchema>dc</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:identifier>http://catalogue.bnf.fr/ark:/12148/cb372712912</dc:identifier> <dc:title>Le horla / Maupassant ; établissement du texte, introd., bibliogr. et notes par Antonia Fonyi,... ; chronologie par Pierre Cogny</dc:title> <dc:creator>Maupassant, Guy de (1850-1893). Auteur du texte</dc:creator> <dc:contributor>Fonyi, Antonia. Éditeur scientifique</dc:contributor> <dc:contributor>Cogny, Pierre (1916-1988). Fonction indéterminée</dc:contributor> <dc:publisher>Flammarion (Paris)</dc:publisher> <dc:date>1984</dc:date> <dc:description>Collection : GF</dc:description> <dc:identifier>ISBN 2080704095</dc:identifier> <dc:format>1 vol. (254 p.) ; 18 cm</dc:format> <dc:language>fre</dc:language> <dc:type xml:lang="fre">texte imprimé</dc:type> <dc:type xml:lang="eng">printed text</dc:type> <dc:type xml:lang="eng">text</dc:type> <dc:rights xml:lang="fre">Catalogue en ligne de la Bibliothèque nationale de France</dc:rights> <dc:rights xml:lang="eng">French National Library online Catalog</dc:rights>
</oai_dc:dc> </srw:recordData>
<srw:recordIdentifier>ark:/12148/cb372712912</srw:recordIdentifier>
<srw:recordPosition>1</srw:recordPosition>
<srw:extraRecordData>
<ixm:attr name="CreationDate">19970602</ixm:attr>
<ixm:attr name="LastModificationDate">20160128</ixm:attr>
<mn:score>6.947803</mn:score>
</srw:extraRecordData>
</srw:record>
</srw:records>
</srw:searchRetrieveResponse>
+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?><srw:searchRetrieveResponse xmlns:srw="http://www.loc.gov/zing/srw/" xmlns="http://catalogue.bnf.fr/namespaces/InterXMarc" xmlns:ixm="http://catalogue.bnf.fr/namespaces/InterXMarc" xmlns:mn="http://catalogue.bnf.fr/namespaces/motsnotices" xmlns:sd="http://www.loc.gov/zing/srw/diagnostic/">
<srw:version>1.2</srw:version>
<srw:echoedSearchRetrieveRequest>
<srw:version>1.2</srw:version>
<srw:query>bib.isbn all "2253004227"</srw:query>
</srw:echoedSearchRetrieveRequest>
<srw:numberOfRecords>3</srw:numberOfRecords>
<srw:records>
<srw:record>
<srw:recordSchema>dc</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:identifier>http://catalogue.bnf.fr/ark:/12148/cb34676750b</dc:identifier> <dc:title>Germinal / Émile Zola ; préface d'Armand Lanoux</dc:title> <dc:creator>Zola, Émile (1840-1902). Auteur du texte</dc:creator> <dc:contributor>Lanoux, Armand (1913-1983). Préfacier</dc:contributor> <dc:publisher>le Livre de poche (Paris)</dc:publisher> <dc:date>1979</dc:date> <dc:description>Collection : Le Livre de poche ; 145</dc:description> <dc:identifier>ISBN 2253004227</dc:identifier> <dc:format>503 p. : couv. ill. ; 17 cm</dc:format> <dc:language>fre</dc:language> <dc:type xml:lang="fre">texte imprimé</dc:type> <dc:type xml:lang="eng">printed text</dc:type> <dc:type xml:lang="eng">text</dc:type> <dc:rights xml:lang="fre">Catalogue en ligne de la Bibliothèque nationale de France</dc:rights> <dc:rights xml:lang="eng">French National Library online Catalog</dc:rights>
</oai_dc:dc> </srw:recordData>
<srw:recordIdentifier>ark:/12148/cb34676750b</srw:recordIdentifier>
<srw:recordPosition>1</srw:recordPosition>
<srw:extraRecordData>
<ixm:attr name="CreationDate">19860717</ixm:attr>
<ixm:attr name="LastModificationDate">20160128</ixm:attr>
<mn:score>6.554732</mn:score>
</srw:extraRecordData>
</srw:record>
<srw:record>
<srw:recordSchema>dc</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:identifier>http://catalogue.bnf.fr/ark:/12148/cb371181885</dc:identifier> <dc:title>Germinal / Émile Zola ; préf., dossier et notes par Colette Becker</dc:title> <dc:creator>Zola, Émile (1840-1902). Auteur du texte</dc:creator> <dc:contributor>Becker, Colette (1932-....). Éditeur scientifique</dc:contributor> <dc:publisher>Librairie générale française (Paris)</dc:publisher> <dc:date>2000</dc:date> <dc:description>Collection : Classiques de poche</dc:description> <dc:identifier>ISBN 2253004227</dc:identifier> <dc:format>605 p. : couv. ill. en coul. ; 18 cm</dc:format> <dc:language>fre</dc:language> <dc:type xml:lang="fre">texte imprimé</dc:type> <dc:type xml:lang="eng">printed text</dc:type> <dc:type xml:lang="eng">text</dc:type> <dc:rights xml:lang="fre">Catalogue en ligne de la Bibliothèque nationale de France</dc:rights> <dc:rights xml:lang="eng">French National Library online Catalog</dc:rights>
</oai_dc:dc> </srw:recordData>
<srw:recordIdentifier>ark:/12148/cb371181885</srw:recordIdentifier>
<srw:recordPosition>2</srw:recordPosition>
<srw:extraRecordData>
<ixm:attr name="CreationDate">20000823</ixm:attr>
<ixm:attr name="LastModificationDate">20160128</ixm:attr>
<mn:score>6.5542808</mn:score>
</srw:extraRecordData>
</srw:record>
<srw:record>
<srw:recordSchema>dc</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:identifier>http://catalogue.bnf.fr/ark:/12148/cb34728238q</dc:identifier> <dc:title>Germinal / Émile Zola ; préface de Jacques Duquesne ; commentaires et notes d'Auguste Dezalay</dc:title> <dc:creator>Zola, Émile (1840-1902). Auteur du texte</dc:creator> <dc:contributor>Duquesne, Jacques (1930-2023). Préfacier</dc:contributor> <dc:contributor>Dezalay, Auguste (1932-2024). Éditeur scientifique</dc:contributor> <dc:publisher>Librairie générale française (Paris)</dc:publisher> <dc:date>1983</dc:date> <dc:description>Collection : Le Livre de poche ; 145</dc:description> <dc:identifier>ISBN 2253004227</dc:identifier> <dc:format>538 p. : couv. ill. en coul. ; 17 cm</dc:format> <dc:language>fre</dc:language> <dc:type xml:lang="fre">texte imprimé</dc:type> <dc:type xml:lang="eng">printed text</dc:type> <dc:type xml:lang="eng">text</dc:type> <dc:rights xml:lang="fre">Catalogue en ligne de la Bibliothèque nationale de France</dc:rights> <dc:rights xml:lang="eng">French National Library online Catalog</dc:rights>
</oai_dc:dc> </srw:recordData>
<srw:recordIdentifier>ark:/12148/cb34728238q</srw:recordIdentifier>
<srw:recordPosition>3</srw:recordPosition>
<srw:extraRecordData>
<ixm:attr name="CreationDate">19860717</ixm:attr>
<ixm:attr name="LastModificationDate">20160128</ixm:attr>
<mn:score>6.5534883</mn:score>
</srw:extraRecordData>
</srw:record>
</srw:records>
</srw:searchRetrieveResponse>
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><srw:searchRetrieveResponse xmlns:srw="http://www.loc.gov/zing/srw/" xmlns:sd="http://www.loc.gov/zing/srw/diagnostic/" xmlns:ixm="http://catalogue.bnf.fr/namespaces/InterXMarc" xmlns:mn="http://catalogue.bnf.fr/namespaces/motsnotices" xmlns="http://catalogue.bnf.fr/namespaces/InterXMarc"><srw:version>1.2</srw:version><srw:echoedSearchRetrieveRequest><srw:version>1.2</srw:version><srw:query>bib.isbn all &quot;9780262033848&quot;</srw:query></srw:echoedSearchRetrieveRequest><srw:numberOfRecords>0</srw:numberOfRecords><srw:records/></srw:searchRetrieveResponse>
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?><srw:searchRetrieveResponse xmlns:srw="http://www.loc.gov/zing/srw/" xmlns="http://catalogue.bnf.fr/namespaces/InterXMarc" xmlns:ixm="http://catalogue.bnf.fr/namespaces/InterXMarc" xmlns:mn="http://catalogue.bnf.fr/namespaces/motsnotices" xmlns:sd="http://www.loc.gov/zing/srw/diagnostic/">
<srw:version>1.2</srw:version>
<srw:echoedSearchRetrieveRequest>
<srw:version>1.2</srw:version>
<srw:query>bib.isbn all "9782070612758"</srw:query>
</srw:echoedSearchRetrieveRequest>
<srw:numberOfRecords>1</srw:numberOfRecords>
<srw:records>
<srw:record>
<srw:recordSchema>dc</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:identifier>http://catalogue.bnf.fr/ark:/12148/cb41023439w</dc:identifier> <dc:title>Le petit prince / Antoine de Saint-Exupéry ; avec des aquarelles de l'auteur</dc:title> <dc:creator>Saint-Exupéry, Antoine de (1900-1944). Auteur du texte</dc:creator> <dc:publisher>Gallimard (Paris)</dc:publisher> <dc:date>2007</dc:date> <dc:description>Collection : Folio junior ; 100</dc:description> <dc:identifier>ISBN 9782070612758</dc:identifier> <dc:description>Code à barres commercial : EAN 9782070612758</dc:description> <dc:format>1 vol. (113 p.) : ill., couv. ill. en coul. ; 18 cm</dc:format> <dc:language>fre</dc:language> <dc:type xml:lang="fre">texte imprimé</dc:type> <dc:type xml:lang="eng">printed text</dc:type> <dc:type xml:lang="eng">text</dc:type> <dc:rights xml:lang="fre">Catalogue en ligne de la Bibliothèque nationale de France</dc:rights> <dc:rights xml:lang="eng">French National Library online Catalog</dc:rights>
</oai_dc:dc> </srw:recordData>
<srw:recordIdentifier>ark:/12148/cb41023439w</srw:recordIdentifier>
<srw:recordPosition>1</srw:recordPosition>
<srw:extraRecordData>
<ixm:attr name="CreationDate">20070503</ixm:attr>
<ixm:attr name="LastModificationDate">20160129</ixm:attr>
<mn:score>6.440692</mn:score>
</srw:extraRecordData>
</srw:record>
</srw:records>
</srw:searchRetrieveResponse>
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><srw:searchRetrieveResponse xmlns:srw="http://www.loc.gov/zing/srw/" xmlns:sd="http://www.loc.gov/zing/srw/diagnostic/" xmlns:ixm="http://catalogue.bnf.fr/namespaces/InterXMarc" xmlns:mn="http://catalogue.bnf.fr/namespaces/motsnotices" xmlns="http://catalogue.bnf.fr/namespaces/InterXMarc"><srw:version>1.2</srw:version><srw:echoedSearchRetrieveRequest><srw:version>1.2</srw:version><srw:query>bib.isbn all &quot;9782080704092&quot;</srw:query></srw:echoedSearchRetrieveRequest><srw:numberOfRecords>0</srw:numberOfRecords><srw:records/></srw:searchRetrieveResponse>
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><srw:searchRetrieveResponse xmlns:srw="http://www.loc.gov/zing/srw/" xmlns:sd="http://www.loc.gov/zing/srw/diagnostic/" xmlns:ixm="http://catalogue.bnf.fr/namespaces/InterXMarc" xmlns:mn="http://catalogue.bnf.fr/namespaces/motsnotices" xmlns="http://catalogue.bnf.fr/namespaces/InterXMarc"><srw:version>1.2</srw:version><srw:echoedSearchRetrieveRequest><srw:version>1.2</srw:version><srw:query>bib.isbn all &quot;9782253004226&quot;</srw:query></srw:echoedSearchRetrieveRequest><srw:numberOfRecords>0</srw:numberOfRecords><srw:records/></srw:searchRetrieveResponse>
@@ -0,0 +1 @@
{"alternate_names": ["Thomas Cormen", "Cormen"], "type": {"key": "/type/author"}, "name": "Thomas H. Cormen", "key": "/authors/OL1004780A", "personal_name": "Thomas H. Cormen", "remote_ids": {"wikidata": "Q2524992"}, "latest_revision": 5, "revision": 5, "created": {"type": "/type/datetime", "value": "2008-04-01T03:28:50.625462"}, "last_modified": {"type": "/type/datetime", "value": "2025-08-06T17:34:42.793123"}}
@@ -0,0 +1 @@
{"personal_name": "Clifford Stein", "birth_date": "1965", "type": {"key": "/type/author"}, "source_records": ["bwb:9780262046305", "amazon:6053556491", "promise:bwb_daily_pallets_2021-07-13", "bwb:9781495319280"], "name": "Clifford Stein", "alternate_names": ["Tahsin Oner, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Urfat Nuriyev, Efendi Nasiboglu", "Clifford Stein, Robert L. Drysdale, Kenneth Bogart", "by by Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein Thomas H. Cormen Clara Lee Erica Lin"], "key": "/authors/OL2633511A", "remote_ids": {"viaf": "23967971"}, "latest_revision": 4, "revision": 4, "created": {"type": "/type/datetime", "value": "2008-04-29T13:35:46.876380"}, "last_modified": {"type": "/type/datetime", "value": "2023-10-11T14:36:58.897915"}}
@@ -0,0 +1 @@
{"alternate_names": ["Ronald L Rivest", "Rivest"], "type": {"key": "/type/author"}, "key": "/authors/OL2682480A", "name": "Ronald L. Rivest", "latest_revision": 3, "revision": 3, "created": {"type": "/type/datetime", "value": "2008-04-29T13:35:46.876380"}, "last_modified": {"type": "/type/datetime", "value": "2023-09-26T19:55:49.027294"}}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"type": {"key": "/type/author"}, "authors": [{"type": {"key": "/type/author_role"}, "author": "/authors/OL1035797A"}], "lc_classifications": ["BS511.2 .M38 1983"], "source_records": ["marc:marc_loc_2016/BooksAll.2016.part14.utf8:44902322:661", "ia:largent0000zola_x5y8", "amazon:1522994696", "amazon:1507893590", "amazon:1374885126", "amazon:1546575251", "amazon:2011935814", "bwb:9798725651614", "amazon:2211075487", "bwb:9798744611989", "amazon:2080721984", "amazon:2277119024", "amazon:2491865025", "amazon:0343116146", "amazon:034410950X", "amazon:1533289921", "amazon:1539051706", "amazon:0342133217", "ia:documentslittera00zola", "amazon:1783100281", "bwb:9798479747168", "bwb:9780342659180", "bwb:9781513133201", "bwb:9798452511731", "bwb:9798647929167", "bwb:9798493288180", "amazon:9754340390", "amazon:1014154979", "amazon:9759099004", "amazon:9759099268", "amazon:6059115721", "amazon:9755708855", "amazon:9759099144", "marc:marc_uic/UIC_2022.mrc:6162700:1247", "bwb:9780342133222", "bwb:9782812413773", "bwb:9780996655125", "amazon:3368406892", "bwb:9781520427072", "bwb:9781549856327", "bwb:9781973572022", "bwb:9781980998709", "bwb:9781549856549", "bwb:9781973258513", "bwb:9781795490092", "bwb:9798424798467", "bwb:9780274794744", "promise:bwb_daily_pallets_2021-03-26", "promise:bwb_daily_pallets_2021-02-15", "promise:bwb_daily_pallets_2021-02-02", "promise:bwb_daily_pallets_2020-10-07", "marc:harvard_bibliographic_metadata/ab.bib.13.20150123.full.mrc:406303964:833", "promise:bwb_daily_pallets_2021-01-13", "bwb:9781016886864", "bwb:9798480105315", "amazon:8416948380", "bwb:9781014405814", "promise:bwb_daily_pallets_2024-05-24:P9-CEY-153", "bwb:9781530316380", "ia:bwb_KU-705-801", "ia:bwb_W1-CAE-947", "ia:germinal0000mile_j7b7"], "alternate_names": ["\u00c9mile \u00c9douard Charles Antoine Zola", "\u042d\u043c\u0438\u043b\u044c \u0417\u043e\u043b\u044f", "Emile Zola"], "personal_name": "Emile Zola", "death_date": "28 September 1902", "name": "\u00c9mile Zola", "birth_date": "2 April 1840", "subjects": ["Romanian Poets", "Travel", "Description and travel", "Biography"], "remote_ids": {"viaf": "32004502", "wikidata": "Q504", "isni": "0000000120958660", "bookbrainz": "feff739d-3d0e-43e8-b520-dd7a63e760bb", "musicbrainz": "591846b4-5f9d-4068-b656-b8182a1fa8b2", "goodreads": "4750", "imdb": "nm0957652", "lc_naf": "n79026785", "librarything": "zolaemile", "librivox": "1233", "project_gutenberg": "528", "opac_sbn": "CFIV006123"}, "bio": "Emile Zola was a French journalist and novelist known for his series of 20 novels known collectively as Les Rougon-Macquart (1871-93). Zola's style was called literary naturalism; his novels were attacked and even banned for their frankness and sordid detail, and caused quite a bit of controversy in their day. The same traits made him a best-selling author and a star of French literature in his day. In 1898 he then further incurred the wrath of French officials when he published the open letter \"J'Accuse,\" in defense of Alfred Dreyfus, an Army officer who had been convicted of treason. Zola was sentenced to prison for libel, fled to England, and was granted amnesty a few months later. He died in Paris from carbon monoxide poisoning -- the victim of a stopped-up chimney -- a few months before Dreyfus was officially exonerated.\r\n[(Source)][1]\r\n\r\n\r\n [1]: http://www.infoplease.com/biography/var/emilezola.html", "works": [{"key": "/works/OL22683476W"}], "key": "/authors/OL32772A", "lccn": ["82048589"], "title": "(fa) (Zola, Emile", "photos": [7322184, 7277175, 7321584], "latest_revision": 36, "revision": 36, "created": {"type": "/type/datetime", "value": "2008-04-01T03:28:50.625462"}, "last_modified": {"type": "/type/datetime", "value": "2025-08-11T03:10:32.196053"}}
@@ -0,0 +1 @@
{"name": "Charles E. Leiserson", "personal_name": "Charles Eric Leiserson", "created": {"type": "/type/datetime", "value": "2008-04-30T09:38:13.731961"}, "alternate_names": ["Charles Eric Leiserson", "Charles E Leiserson"], "last_modified": {"type": "/type/datetime", "value": "2020-09-13T22:29:03.142106"}, "latest_revision": 2, "key": "/authors/OL3328609A", "type": {"key": "/type/author"}, "revision": 2}
@@ -0,0 +1 @@
{"publishers": ["The MIT Press"], "covers": [11106524, 11106513, 6959894], "local_id": ["urn:sfpl:31223098370225", "urn:sfpl:31223098370217", "urn:sfpl:31223096357745", "urn:sfpl:31223088622619", "urn:sfpl:31223125654849"], "key": "/books/OL23170657M", "publish_places": ["Cambridge, MA, USA"], "contributions": ["Cormen, Thomas H."], "languages": [{"key": "/languages/eng"}], "pagination": "p. cm.", "source_records": ["marc:marc_loc_updates/v37.i09.records.utf8:9778438:742", "marc:marc_loc_updates/v37.i45.records.utf8:8003233:1035", "marc:marc_loc_updates/v38.i08.records.utf8:25220449:1035", "ia:introductiontoal00corm_105", "ia:introductiontoal00corm_558", "ia:introductiontoal00corm_453", "ia:introductiontoal00corm_532", "ia:introductiontoal00corm_281", "amazon:0262533057", "marc:marc_openlibraries_sanfranciscopubliclibrary/sfpl_chq_2018_12_24_run04.mrc:37376133:3028", "bwb:9780262533058", "marc:marc_loc_2016/BooksAll.2016.part36.utf8:104035279:1035", "bwb:9780262033848", "ia:introductiontoal0000unse_t3a6", "marc:marc_columbia/Columbia-extract-20221130-022.mrc:155289756:5406", "marc:marc_columbia/Columbia-extract-20221130-015.mrc:131921602:2839", "marc:harvard_bibliographic_metadata/ab.bib.12.20150123.full.mrc:192775671:2581", "idb:9780262033848", "idb:9780262533058"], "title": "Introduction to Algorithms", "notes": "Includes bibliographical references and index.", "identifiers": {"librarything": ["9820219"], "goodreads": ["6752187", "7160858"]}, "edition_name": "Third Edition", "subjects": ["Computer programming", "Computer algorithms"], "publish_date": "2009", "publish_country": "mau", "by_statement": "Thomas H. Cormen ... [et al.].", "works": [{"key": "/works/OL4781294W"}], "type": {"key": "/type/edition"}, "ocaid": "introductiontoal00corm_453", "isbn_13": ["9780262033848", "9780262533058"], "lccn": ["2009008593"], "classifications": {}, "dewey_decimal_class": ["005.1"], "lc_classifications": ["QA76.6 .I5858 2009", "QA76.6.I5858 2009", "QA76.6 .C662 2009", "QA76.6 .C662 2009eb"], "oclc_numbers": ["676697295", "311310321"], "number_of_pages": 1292, "latest_revision": 28, "revision": 28, "created": {"type": "/type/datetime", "value": "2009-05-14T08:11:40.465407"}, "last_modified": {"type": "/type/datetime", "value": "2023-12-19T21:37:40.645363"}}
@@ -0,0 +1 @@
{"publishers": ["Editions Gallimard"], "number_of_pages": 120, "weight": "5.6 ounces", "isbn_10": ["2070612759"], "covers": [2137711], "physical_format": "Paperback", "key": "/books/OL9567312M", "authors": [{"key": "/authors/OL31901A"}], "subjects": ["Classic fiction", "Fiction", "Children's Books/All Ages", "Literature: Classics", "Fairy Tales & Folklore - Anthologies", "Classics"], "isbn_13": ["9782070612758"], "classifications": {}, "source_records": ["marc:marc_openlibraries_sanfranciscopubliclibrary/sfpl_chq_2018_12_24_run05.mrc:292011609:2702"], "title": "Le Petit Prince", "identifiers": {"goodreads": ["832605"]}, "languages": [{"key": "/languages/fre"}], "local_id": ["urn:sfpl:31223118874636", "urn:sfpl:31223118874644"], "publish_date": "March 2007", "works": [{"key": "/works/OL10263W"}], "type": {"key": "/type/edition"}, "physical_dimensions": "6.9 x 4.9 x 0.3 inches", "latest_revision": 8, "revision": 8, "created": {"type": "/type/datetime", "value": "2008-04-30T09:38:13.731961"}, "last_modified": {"type": "/type/datetime", "value": "2023-01-18T09:47:14.521060"}}
@@ -0,0 +1 @@
{"publishers": ["[Librairie G\u00e9n\u00e9rale Fran\u00e7aise]"], "number_of_pages": 503, "isbn_10": ["2253004227"], "series": ["Le livre de poche -- 145", "Les Rougons-Macquart -- 13"], "key": "/books/OL22818649M", "authors": [{"key": "/authors/OL32772A"}], "publish_places": ["Paris"], "pagination": "503p. ;", "source_records": ["marc:talis_openlibrary_contribution/talis-openlibrary-contribution.mrc:1030036699:704", "marc:marc_openlibraries_sanfranciscopubliclibrary/sfpl_chq_2018_12_24_run02.mrc:61717751:1157", "ia:germinal0000zola_f0g5", "marc:harvard_bibliographic_metadata/ab.bib.00.20150123.full.mrc:781943779:596", "marc:harvard_bibliographic_metadata/20220215_017.bib.mrc:282780577:1098"], "title": "Germinal", "notes": {"type": "/type/text", "value": "This ed. first published by Librairie G\u00e9n\u00e9rale Fran\u00e7aise: 1956. Reissued with a new preface. Originally published: Fasquelle."}, "identifiers": {"librarything": ["22853"], "goodreads": ["956700"]}, "languages": [{"key": "/languages/fre"}], "local_id": ["urn:sfpl:31223073722390"], "publish_date": "1983", "publish_country": "fr ", "by_statement": "pr\u00e9face de Jacques Duquesne.", "works": [{"key": "/works/OL118986W"}], "type": {"key": "/type/edition"}, "covers": [10628937], "ocaid": "germinal0000zola_f0g5", "oclc_numbers": ["7710691"], "latest_revision": 12, "revision": 12, "created": {"type": "/type/datetime", "value": "2009-01-03T22:27:36.844842"}, "last_modified": {"type": "/type/datetime", "value": "2025-09-28T12:59:52.355511"}}
@@ -0,0 +1 @@
{"subjects": ["Algorithms", "Computer algorithms", "Computer programming", "open_syllabus_project", "Programming", "Algorithmes", "Programmation (Informatique)", "54.10 theoretical informatics", "Algorithmus", "Informatik", "Theoretische Informatik", "Algorithmentheorie", "COMPUTER PROGRAMS", "PROGRAMMING LANGUAGES", "FILE MAINTENANCE (COMPUTERS)", "SOFTWARE TOOLS", "Long Now Manual for Civilization", "COMPUTERS", "Open Source", "Software Development & Engineering", "Tools", "General", "Algorithmische Programmierung", "Algoritmen", "Datenstruktur", "Datoralgoritmer", "Datastrukturer", "\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u044b//\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445", "\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u044b", "\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445", "Algorithms and Data Structures", "Qa76.6 .c662 2009", "005.1", "54.10", "Qa76.6 .i5858 2001", "Electronic digital computers, programming"], "key": "/works/OL4781294W", "title": "Introduction to Algorithms", "authors": [{"author": {"key": "/authors/OL1004780A"}, "type": {"key": "/type/author_role"}}, {"author": {"key": "/authors/OL3328609A"}, "type": {"key": "/type/author_role"}}, {"author": {"key": "/authors/OL2682480A"}, "type": {"key": "/type/author_role"}}, {"author": {"key": "/authors/OL2633511A"}, "type": {"key": "/type/author_role"}}], "type": {"key": "/type/work"}, "covers": [2341462, 149636, 6959894, 53671, 8664679, 151333, 11115497], "description": {"type": "/type/text", "value": "This book provides a comprehensive introduction to the modern study of computer algorithms. It presents many algorithms and covers them in considerable depth, yet makes their design and analysis accessible to all levels of readers. We have tried to keep explanations elementary without sacrificing depth of coverage or mathematical rigor. Each chapter presents an algorithm, a design technique, an application area, or a related topic. Algorithms are described in English and in a \"pseudocode\" designed to be readable by anyone who has done a little programming. The book contains over 260 figrues illustrating how the algorithms work. Since we emphasize efficiency as a design criterion, we include careful analyses of the running times of all our algorithms. The text is intended primarily for use in undergraduate or graduate courses in algorithms or data structures. Because it discusses engineering issues in algorithm design, as well as mathematical aspects, it is equally well suited for self-study by technical professionals. --"}, "latest_revision": 17, "revision": 17, "created": {"type": "/type/datetime", "value": "2009-12-10T07:30:51.510609"}, "last_modified": {"type": "/type/datetime", "value": "2025-05-16T12:11:10.698473"}}