1 00:00:00,000 --> 00:00:11,370 2 00:00:11,370 --> 00:00:12,370 JEFFREY LICHT: Hei der. 3 00:00:12,370 --> 00:00:13,550 Jeg er Jeffrey Licht. 4 00:00:13,550 --> 00:00:17,890 Og jeg er her for å snakke med deg om Harvard Library og bygge morgendagens 5 00:00:17,890 --> 00:00:20,870 bibliotek i dag, tror jeg. 6 00:00:20,870 --> 00:00:23,040 Så bakgrunnen her, banen for denne økten 7 00:00:23,040 --> 00:00:26,930 er i det vesentlige at det er mye av bibliografisk data 8 00:00:26,930 --> 00:00:28,400 tilgjengelig i Harvard bibliotekene. 9 00:00:28,400 --> 00:00:33,434 Og det er en mulighet, gjennom noen av verktøyene 10 00:00:33,434 --> 00:00:36,350 og et prosjekt som er under utvikling, for å få tilgang til informasjonen 11 00:00:36,350 --> 00:00:42,430 og ta det med til steder som det Harvard Library er ikke å gjøre akkurat nå, 12 00:00:42,430 --> 00:00:45,460 gjøre nye ting med det, eksperiment og leke seg med det. 13 00:00:45,460 --> 00:00:52,413 >> Så poenget inntreden i dette er en API kalt Harvard Library Cloud, som 14 00:00:52,413 --> 00:00:57,650 er en åpen metadata-server, som jeg vil snakke om nå. 15 00:00:57,650 --> 00:01:02,595 Slik at bakgrunnen er at det er en masse ting i Harvard biblioteket. 16 00:01:02,595 --> 00:01:07,150 Vi har over 13 millioner bibliografisk poster, millioner av bilder, 17 00:01:07,150 --> 00:01:11,090 og tusenvis av å finne hjelpemidler som er i hovedsak dokumenter som beskriver 18 00:01:11,090 --> 00:01:15,500 samlinger, si hva er i dem, esker med papirer 19 00:01:15,500 --> 00:01:21,080 og så videre som representerer over en million enkeltdokumenter. 20 00:01:21,080 --> 00:01:24,290 Og det er også en rekke informasjon som biblioteket har 21 00:01:24,290 --> 00:01:28,180 om hvordan innholdet blir brukt som kan være av interesse for folk 22 00:01:28,180 --> 00:01:32,400 som kanskje har lyst til å jobbe med det. 23 00:01:32,400 --> 00:01:36,150 >> Så all informasjon Biblioteket har metadata. 24 00:01:36,150 --> 00:01:39,500 Så metadata er data om data. 25 00:01:39,500 --> 00:01:42,070 Så når vi snakker om den informasjonen som er 26 00:01:42,070 --> 00:01:44,890 tilgjengelig gjennom biblioteket sky som er tilgjengelig, 27 00:01:44,890 --> 00:01:47,760 det er ikke nødvendigvis selve dokumentene 28 00:01:47,760 --> 00:01:53,060 seg selv, ikke nødvendigvis den fulle tekst av bøker eller hele bilder, 29 00:01:53,060 --> 00:01:54,890 men som faktisk kan være tilfelle. 30 00:01:54,890 --> 00:01:57,550 Men det er egentlig informasjon om dataene. 31 00:01:57,550 --> 00:02:00,909 >> Så du kan tenke på katalogisering informasjon, telefonnumre, fag, 32 00:02:00,909 --> 00:02:02,700 hvor mange kopier av bok det er, hva 33 00:02:02,700 --> 00:02:06,380 er de utgavene, hva er det formater, forfatterne, og så videre. 34 00:02:06,380 --> 00:02:12,250 Så det er mye informasjon om informasjonen i samlingen som, 35 00:02:12,250 --> 00:02:14,400 i seg selv, er slags iboende nyttig. 36 00:02:14,400 --> 00:02:19,230 Og selv om du er gjøre grundige undersøkelser, 37 00:02:19,230 --> 00:02:25,160 du åpenbart ønsker å komme til den faktiske innhold i seg selv og se på dataene, 38 00:02:25,160 --> 00:02:30,140 metadataene er nyttig når det gjelder både analysere corpus som en helhet, 39 00:02:30,140 --> 00:02:33,870 som hva ting er i samlingen. 40 00:02:33,870 --> 00:02:35,520 Hvordan forholder de? 41 00:02:35,520 --> 00:02:39,482 Det hjelper du virkelig finne andre ting, som er egentlig det viktigste formålet med det. 42 00:02:39,482 --> 00:02:41,190 Poenget med metadata og katalog 43 00:02:41,190 --> 00:02:43,230 er å hjelpe deg å finne alle den informasjonen som er 44 00:02:43,230 --> 00:02:46,590 tilgjengelig innen samlingene. 45 00:02:46,590 --> 00:02:53,690 >> Så dette er et eksempel på metadata for en bok i Harvard Library. 46 00:02:53,690 --> 00:02:56,370 Så det er der. 47 00:02:56,370 --> 00:02:59,850 Og du kan se det er faktisk moderat kompleks. 48 00:02:59,850 --> 00:03:04,610 Og en del av verdien av metadata innenfor Harvard Library system 49 00:03:04,610 --> 00:03:09,320 er at det har vært sort av bygget opp av catalogers 50 00:03:09,320 --> 00:03:12,720 og settes sammen av personer som søker mye kompetanse og ferdighet 51 00:03:12,720 --> 00:03:20,030 og tenkte å det over tid, som har mye av verdi. 52 00:03:20,030 --> 00:03:25,450 >> Så hvis du tar en titt på denne posten for The Annotated Alice, kan du finne ut 53 00:03:25,450 --> 00:03:32,590 du har fått tittelen, som skrev den, forfatter, og alle de forskjellige fagene 54 00:03:32,590 --> 00:03:35,380 som folk har katalogisert den inn. 55 00:03:35,380 --> 00:03:40,110 Og du kan se det er også, i tillegg til mye god informasjon 56 00:03:40,110 --> 00:03:42,852 her er det noen duplisering. 57 00:03:42,852 --> 00:03:45,560 Det er mye av kompleksiteten som er reflekteres gjennom metadata 58 00:03:45,560 --> 00:03:46,300 som du har. 59 00:03:46,300 --> 00:03:50,320 >> Så man tittelen på denne boken er Alice i Eventyrland. 60 00:03:50,320 --> 00:03:53,880 Så dette er en annotert versjon av den boken. 61 00:03:53,880 --> 00:03:56,380 Men det er også kalt The Annotated Alice, Alice i Eventyr 62 00:03:56,380 --> 00:03:58,570 in Wonderland fordi det er noe som 63 00:03:58,570 --> 00:04:00,430 Martin Gardner skrev og kommentert boken. 64 00:04:00,430 --> 00:04:03,369 Og det er mye god informasjon om logiske oppgaver og ting 65 00:04:03,369 --> 00:04:05,410 innenfor Alice at du sannsynligvis ikke visste om. 66 00:04:05,410 --> 00:04:07,000 Så du bør gå lese det. 67 00:04:07,000 --> 00:04:11,940 >> Men du kan se det er en masse detaljer her, 68 00:04:11,940 --> 00:04:15,340 inkludert identifikatorer, når det ble opprettet, hvor det kom fra, 69 00:04:15,340 --> 00:04:17,420 i form av Harvard systemet, og så videre. 70 00:04:17,420 --> 00:04:20,350 Så dette er et eksempel på typen av metadata 71 00:04:20,350 --> 00:04:24,340 som du kan se etter en bok i Harvard Bibliotekets samling. 72 00:04:24,340 --> 00:04:26,680 >> Dette er noe helt annet. 73 00:04:26,680 --> 00:04:32,610 Så det er et system som heter VIA Harvard, som i utgangspunktet 74 00:04:32,610 --> 00:04:39,990 katalogiserer bilder og kunstgjenstander og visuelle ting hele Harvard, 75 00:04:39,990 --> 00:04:44,010 og legge noen metadata til dem, klassifisere dem, 76 00:04:44,010 --> 00:04:49,200 og, i noen tilfeller, å gi små miniatyrbilder 77 00:04:49,200 --> 00:04:51,250 at du kan ta en se på hvis du ønsker det. 78 00:04:51,250 --> 00:04:54,240 >> Slik at dette er et eksempel på den metadata som du har for en plate 79 00:04:54,240 --> 00:04:57,840 fra, formodentlig, Alice in Wonderland. 80 00:04:57,840 --> 00:05:00,499 Og du kan se det er mindre metadata her. 81 00:05:00,499 --> 00:05:02,040 Det er bare en annen type objekt. 82 00:05:02,040 --> 00:05:03,425 Og så det er mindre informasjon. 83 00:05:03,425 --> 00:05:07,790 >> Du har stort sett det faktum at en samtale nummer, i hovedsak som skapte den, - 84 00:05:07,790 --> 00:05:10,410 >> Vi vet ikke når det ble opprettet. 85 00:05:10,410 --> 00:05:13,320 >> --og en tittel. 86 00:05:13,320 --> 00:05:14,300 >> Et annet eksempel. 87 00:05:14,300 --> 00:05:16,380 Dette er en oppdagelse hjelpemiddel. 88 00:05:16,380 --> 00:05:19,030 Så det er en samling av Lewis Carroll papirer ved Harvard. 89 00:05:19,030 --> 00:05:23,601 Så dette beskriver hva er i denne samling. 90 00:05:23,601 --> 00:05:26,100 Så noen har gått gjennom og kikket gjennom alle boksene 91 00:05:26,100 --> 00:05:32,220 og katalogisert det, gitt noen bakgrunn, skrevet en oppsummering av hva som er her. 92 00:05:32,220 --> 00:05:35,290 Og hvis du skulle se videre på dette, dette 93 00:05:35,290 --> 00:05:39,620 går for sider og sider og sider, men vil fortelle deg 94 00:05:39,620 --> 00:05:41,860 hva bokstaver og hva datoer fra hvilke bokser 95 00:05:41,860 --> 00:05:44,289 eksistert hele samlingen. 96 00:05:44,289 --> 00:05:46,330 Men dette er noe at hvis du er på Harvard, 97 00:05:46,330 --> 00:05:50,720 du kan gå og faktisk fysisk se opp og, formodentlig, ta en titt på. 98 00:05:50,720 --> 00:05:53,440 >> Så dette er alt flott. 99 00:05:53,440 --> 00:05:54,450 Dette metadata utnytt. 100 00:05:54,450 --> 00:05:56,327 Det står i Harvard Library system. 101 00:05:56,327 --> 00:05:58,910 Det finnes verktøy på nettet hvor du kan gå og ta en titt på det, 102 00:05:58,910 --> 00:05:59,993 og se det, og søke i den. 103 00:05:59,993 --> 00:06:02,810 Og du kan skjære den og terninger det i mange forskjellige måter. 104 00:06:02,810 --> 00:06:06,920 >> Men det er egentlig bare tilgjengelig hvis du er et menneske sitte ned 105 00:06:06,920 --> 00:06:12,600 på din nettleser eller noe eller telefonen og navigerer gjennom det. 106 00:06:12,600 --> 00:06:16,730 Det er egentlig ikke tilgjengelig i noen form for bruk mote 107 00:06:16,730 --> 00:06:19,520 for andre systemer eller andre datamaskiner til å bruke, 108 00:06:19,520 --> 00:06:21,500 ikke med systemer innen Harvard Library, 109 00:06:21,500 --> 00:06:24,890 men systemer i verden utenfor, bare andre mennesker generelt. 110 00:06:24,890 --> 00:06:30,210 Så spørsmålet er, hvordan kan vi gjøre det tilgjengelig for datamaskiner 111 00:06:30,210 --> 00:06:33,560 slik at vi kan gjøre mer interessant ting med det enn bare 112 00:06:33,560 --> 00:06:36,550 surfing det selv? 113 00:06:36,550 --> 00:06:39,766 >> Så hvorfor skulle du ønske å gjøre dette? 114 00:06:39,766 --> 00:06:41,140 Det er mange muligheter. 115 00:06:41,140 --> 00:06:43,980 Det ene er at du kan bygge en helt annen måte surfing 116 00:06:43,980 --> 00:06:46,962 innholdet som er tilgjengelig gjennom Harvard Libraries. 117 00:06:46,962 --> 00:06:48,670 Jeg skal vise deg en senere kalt Stacklife, 118 00:06:48,670 --> 00:06:52,440 som har en helt annen ta på utkikk etter innhold. 119 00:06:52,440 --> 00:06:54,560 >> Du kan bygge en anbefaling motor. 120 00:06:54,560 --> 00:06:57,955 Så Harvard Library er ikke i virksomhet for å si, du liker denne boken. 121 00:06:57,955 --> 00:07:01,080 Deretter går du ta en titt på disse 17 andre bøker som du kan være interessert i 122 00:07:01,080 --> 00:07:03,200 eller disse 18 andre bilder. 123 00:07:03,200 --> 00:07:06,040 Men som sikkert kunne være en verdifull funksjon. 124 00:07:06,040 --> 00:07:09,272 Og gitt metadata, kan det være mulig å sette det sammen. 125 00:07:09,272 --> 00:07:11,980 Du har kanskje ulike behov i vilkårene for å søke på innhold, 126 00:07:11,980 --> 00:07:16,200 som kanskje tross verktøyene som er tilgjengelig som biblioteket gjør 127 00:07:16,200 --> 00:07:18,450 tilgjengelig, vil du kanskje for å søke på en annen måte 128 00:07:18,450 --> 00:07:21,847 eller optimalisere for en bestemt bruk tilfellet, som kanskje det er svært spesialiserte. 129 00:07:21,847 --> 00:07:23,930 Kanskje er det bare et fåtall mennesker i verden som 130 00:07:23,930 --> 00:07:25,846 ønsker å søke på innhold på denne måten, men det 131 00:07:25,846 --> 00:07:28,985 ville være flott om vi kunne la dem gjøre det. 132 00:07:28,985 --> 00:07:30,860 Det er mye av analytics på bare hvordan folk 133 00:07:30,860 --> 00:07:33,860 bruke innholdet som ville være veldig interessant å vite om, finne ut 134 00:07:33,860 --> 00:07:37,280 hvilke bøker som blir brukt, det ikke er det, og så videre. 135 00:07:37,280 --> 00:07:41,670 Og så er det mye mulighet til å integrere 136 00:07:41,670 --> 00:07:45,210 med andre opplysninger som er der ute på nettet. 137 00:07:45,210 --> 00:07:46,880 Så vi have-- 138 00:07:46,880 --> 00:07:50,260 >> For eksempel har NPR en bokan segment, 139 00:07:50,260 --> 00:07:53,090 hvor de intervjuer forfattere om bøker. 140 00:07:53,090 --> 00:07:56,837 Og så det ville være flott om du var leter opp en bok i Harvard 141 00:07:56,837 --> 00:07:59,670 Bibliotek, og du sier, OK, det er vært et intervju med forfatteren. 142 00:07:59,670 --> 00:08:00,878 La oss ta en titt på det. 143 00:08:00,878 --> 00:08:05,461 Eller det er en Wikipedia-side, som en autoritativ, vitenskapelig referanse 144 00:08:05,461 --> 00:08:07,710 om denne boken som du kan det være lurt å ta en titt på. 145 00:08:07,710 --> 00:08:12,600 >> Det er disse typer av kilder spredt over hele nettet. 146 00:08:12,600 --> 00:08:16,555 Og bringe dem sammen kan være en stor bruk 147 00:08:16,555 --> 00:08:18,930 til noen som ser på den innhold, på jakt etter noe. 148 00:08:18,930 --> 00:08:20,180 Men det er heller ikke den type ting du hadde 149 00:08:20,180 --> 00:08:23,205 ønsker biblioteket å være ansvarlig for å gå ned og jakte ned 150 00:08:23,205 --> 00:08:25,455 alle disse forskjellige kilder og koble dem sammen 151 00:08:25,455 --> 00:08:28,920 fordi de er i kontinuerlig endring. 152 00:08:28,920 --> 00:08:33,570 Og hva de synes er viktig mai ikke være hva du synes er viktig. 153 00:08:33,570 --> 00:08:36,929 >> Og enda mer så, i utgangspunktet er det en masse ting vi ikke har tenkt på ennå. 154 00:08:36,929 --> 00:08:42,222 Så hvis vi kan åpne dette opp, mer mennesker foruten et halvt dusin eller så, 155 00:08:42,222 --> 00:08:45,174 som ser på dette på en regelmessig basis kan tenke på ideer 156 00:08:45,174 --> 00:08:47,340 og massere dataene, og gjøre hva de vil med det. 157 00:08:47,340 --> 00:08:49,920 158 00:08:49,920 --> 00:08:54,045 >> Så vi ønsker å gjøre dette data tilgjengelig for hele verden. 159 00:08:54,045 --> 00:08:55,670 Vel, det er et par komplikasjoner. 160 00:08:55,670 --> 00:08:58,540 Det ene er at dette metadata er i forskjellige systemer. 161 00:08:58,540 --> 00:09:01,110 Det er i forskjellige formater. 162 00:09:01,110 --> 00:09:04,719 Så det er noen normalisering som må skje, 163 00:09:04,719 --> 00:09:08,010 som normalisering blir fremgangs bringe ting fra forskjellige formater 164 00:09:08,010 --> 00:09:12,940 og kartlegge dem til et enkelt format slik at feltene vil matche opp. 165 00:09:12,940 --> 00:09:15,160 >> Det er noen restriksjoner om opphavsrett. 166 00:09:15,160 --> 00:09:21,010 Merkelig nok, katalogoppføring om en bok er ansvarlig for opphavsrett. 167 00:09:21,010 --> 00:09:24,060 Så selv om det er bare informasjon hentet fra boken, 168 00:09:24,060 --> 00:09:25,330 det er opphavsrettsbeskyttet. 169 00:09:25,330 --> 00:09:28,400 Og avhengig av hvem som faktisk opprettet som metadata, 170 00:09:28,400 --> 00:09:32,175 Det kan være restriksjoner for hvem kan distribuere det, ligner to-- 171 00:09:32,175 --> 00:09:33,402 >> Jeg vet ikke. 172 00:09:33,402 --> 00:09:36,110 Det kan eller kan ikke være lik situasjonen for de sangtekster, 173 00:09:36,110 --> 00:09:36,610 f.eks. 174 00:09:36,610 --> 00:09:38,560 Så vi vet alle hvordan det kokekar ut. 175 00:09:38,560 --> 00:09:40,450 Så du trenger for å komme rundt dette problemet. 176 00:09:40,450 --> 00:09:44,910 >> Og deretter en annen brikke er at det er mye data. 177 00:09:44,910 --> 00:09:52,420 Så hvis jeg er noen som ønsker å jobbe med dataene eller har en kul idé, 178 00:09:52,420 --> 00:09:55,350 håndtere 14 millioner poster på min laptop 179 00:09:55,350 --> 00:09:57,487 kan være problematisk og vanskelig å administrere. 180 00:09:57,487 --> 00:09:59,320 Så vi ønsker å redusere barrierene for folk 181 00:09:59,320 --> 00:10:02,130 å være i stand til å arbeide med dataene. 182 00:10:02,130 --> 00:10:07,880 >> Så den tilnærmingen som forhåpentligvis adresser alle disse bekymringene er to deler. 183 00:10:07,880 --> 00:10:11,770 Den ene er å bygge en plattform som tar data fra alle disse ulike kilder 184 00:10:11,770 --> 00:10:14,350 og forverrer det, normaliserer, beriker det, og gjør 185 00:10:14,350 --> 00:10:16,650 det tilgjengelig på ett sted. 186 00:10:16,650 --> 00:10:20,950 Og det gjør den tilgjengelig gjennom en offentlig API som folk kan ringe. 187 00:10:20,950 --> 00:10:24,430 >> Så en API er et program Programming Interface. 188 00:10:24,430 --> 00:10:28,930 Og det i utgangspunktet refererer til en endepunkt som et system eller teknologi 189 00:10:28,930 --> 00:10:31,720 kan ringe og få data tilbake i et strukturert format på en måte 190 00:10:31,720 --> 00:10:32,900 at den kan brukes. 191 00:10:32,900 --> 00:10:36,060 Så det er ikke avhengig på å gå til et nettsted 192 00:10:36,060 --> 00:10:37,970 og skraping data off av det, f.eks. 193 00:10:37,970 --> 00:10:40,690 194 00:10:40,690 --> 00:10:45,010 >> Så dette er hjemmesiden til Biblioteket Cloud Element API, 195 00:10:45,010 --> 00:10:47,220 som i hovedsak sin versjon to. 196 00:10:47,220 --> 00:10:50,130 Så det er den andre iterasjon av prøver å gjøre alt dette data 197 00:10:50,130 --> 00:10:53,280 tilgjengelig for hele verden. 198 00:10:53,280 --> 00:10:59,560 Så det er http://api.lib.harvard.edu/v2/items. 199 00:10:59,560 --> 00:11:03,830 Og bare for å bryte dette ned litt, hva dette betyr 200 00:11:03,830 --> 00:11:06,115 er at dette er versjon to av API. 201 00:11:06,115 --> 00:11:08,490 Det er en versjon en, som Jeg kommer ikke til å snakke om. 202 00:11:08,490 --> 00:11:09,750 Men det er en versjon en. 203 00:11:09,750 --> 00:11:14,740 >> Og hvis du ringer dette API, du får elementer. 204 00:11:14,740 --> 00:11:20,640 Og en del av ideen om en API er et API er en kontrakt. 205 00:11:20,640 --> 00:11:23,440 Det er noe som er ikke kommer til å endre seg. 206 00:11:23,440 --> 00:11:24,850 Så for eksempel, - 207 00:11:24,850 --> 00:11:27,410 >> Og grunnen er at hvis jeg bygge noen form for system som 208 00:11:27,410 --> 00:11:33,210 kommer til å bruke et bibliotek sky API å vise bøker eller hjelpe folk med å finne 209 00:11:33,210 --> 00:11:36,190 informasjon på unike måter, hva vi ikke vil skal skje 210 00:11:36,190 --> 00:11:38,940 er for oss å gå endre hvordan at API fungerer, og plutselig 211 00:11:38,940 --> 00:11:41,340 alt bryter på brukersiden. 212 00:11:41,340 --> 00:11:46,710 Så en del av hvis du gjør API tilgjengelig for hele verden, er det 213 00:11:46,710 --> 00:11:49,396 god praksis for å sette en versjonsnummeret i den slik at folk 214 00:11:49,396 --> 00:11:51,020 vet hvilken versjon de arbeider med. 215 00:11:51,020 --> 00:11:54,300 >> Så hvis vi bestemmer oss for vi finne en bedre måte for å gjøre denne informasjonen tilgjengelig, 216 00:11:54,300 --> 00:11:57,295 vi kan endre det til kalle det versjon tre. 217 00:11:57,295 --> 00:11:59,920 Så alle som er fremdeles bruker versjon to, vil det fortsatt arbeid. 218 00:11:59,920 --> 00:12:03,490 Men versjon tre ville har alle de nye ting. 219 00:12:03,490 --> 00:12:06,680 220 00:12:06,680 --> 00:12:09,210 >> Så dette er en API, men dette virkelig ser ut som en URL. 221 00:12:09,210 --> 00:12:11,680 Og så hva dette er en eksempel på er hva som er 222 00:12:11,680 --> 00:12:16,615 kalt en hvile API, som er tilgjengelig over bare en vanlig web-tilkobling. 223 00:12:16,615 --> 00:12:19,680 Og kan du faktisk gå til det i en nettleser. 224 00:12:19,680 --> 00:12:28,550 >> Så her har jeg nettopp åpnet opp Firefox og gått til api.lib.harvard.edu/v2/items. 225 00:12:28,550 --> 00:12:31,560 Og så hva jeg får her er utgangspunktet den første siden 226 00:12:31,560 --> 00:12:34,740 av resultater fra hele satt av elementer som vi har fått. 227 00:12:34,740 --> 00:12:37,460 Og det er her i XML-format. 228 00:12:37,460 --> 00:12:40,130 229 00:12:40,130 --> 00:12:42,210 Og det har også vært prettified av Firefox. 230 00:12:42,210 --> 00:12:45,850 Det trenger faktisk ikke ha alle disse lite utvide og entreprenør 231 00:12:45,850 --> 00:12:47,880 doohickeys her. 232 00:12:47,880 --> 00:12:52,520 Dette er liksom en bedre versjon måte å se på det. 233 00:12:52,520 --> 00:12:57,040 >> Men hva dette forteller oss er Jeg har bedt om at alle elementene. 234 00:12:57,040 --> 00:13:03,120 Så det er 13289475 elementer. 235 00:13:03,120 --> 00:13:06,150 Og jeg ser på det første 10, som starter ved posisjon null 236 00:13:06,150 --> 00:13:09,760 fordi i informatikk Vi starter alltid på null. 237 00:13:09,760 --> 00:13:15,150 Og hva jeg har her, hvis jeg bare kollapse dette, vil du se jeg har 10 elementer. 238 00:13:15,150 --> 00:13:20,410 239 00:13:20,410 --> 00:13:25,210 >> Og hvis jeg tar en titt på et element, kan jeg se at jeg har fått informasjon om det. 240 00:13:25,210 --> 00:13:27,400 Og dette er i det som kalles MODS skjema. 241 00:13:27,400 --> 00:13:30,860 Og så kommer jeg til å bytte tilbake hit for et øyeblikk. 242 00:13:30,860 --> 00:13:33,750 OK. 243 00:13:33,750 --> 00:13:37,447 >> Så la oss søke etter noe i spesifikk fordi det første elementet som 244 00:13:37,447 --> 00:13:40,030 skjer for å komme opp når du ser gjennom hele samlingen 245 00:13:40,030 --> 00:13:41,750 er, per definisjon, tilfeldig. 246 00:13:41,750 --> 00:13:44,550 Så la oss se på noen donuts. 247 00:13:44,550 --> 00:13:46,830 Oh. 248 00:13:46,830 --> 00:13:49,190 >> OK. 249 00:13:49,190 --> 00:13:49,940 Så donuts. 250 00:13:49,940 --> 00:13:55,360 Så fant vi det er 80 elementer i samlingen som referanse donuts. 251 00:13:55,360 --> 00:13:57,150 Vi ser på de første 10 av dem. 252 00:13:57,150 --> 00:14:01,890 Nå kan du se her måten Jeg sa jeg leter etter donuts, 253 00:14:01,890 --> 00:14:04,400 Jeg har nettopp lagt noe til søkestrengen av nettadressen. 254 00:14:04,400 --> 00:14:09,680 Så q lik donuts, som du kan se litt lettere her. 255 00:14:09,680 --> 00:14:12,131 >> Og dette betyr i utgangspunktet det er en spec for API, som 256 00:14:12,131 --> 00:14:13,880 definerer hva alle disse parametrene mener. 257 00:14:13,880 --> 00:14:17,150 Og dette betyr at vi kommer til å søke alt for donuts. 258 00:14:17,150 --> 00:14:24,910 >> Så det første elementet her vi har du kan se tittelen er Donuts, 259 00:14:24,910 --> 00:14:29,310 og det er en undertittel som heter An American Passion, som er, tror jeg, 260 00:14:29,310 --> 00:14:31,610 hensiktsmessig. 261 00:14:31,610 --> 00:14:36,134 Det finnes en rekke different-- 262 00:14:36,134 --> 00:14:38,050 Når du kommer til det punktet for å få data, 263 00:14:38,050 --> 00:14:41,020 det er mange forskjellige formater som du kan få det til. 264 00:14:41,020 --> 00:14:44,050 Og det finnes forskjellige styrker og svakheter for dem alle. 265 00:14:44,050 --> 00:14:49,000 Så denne, kan du se her, er denne formen veldig rik. 266 00:14:49,000 --> 00:14:51,946 Og det er standardisert. 267 00:14:51,946 --> 00:14:55,040 >> Så det er en bestemt tittel felt, en undertittel felt. 268 00:14:55,040 --> 00:14:58,950 Det er en alternativ tittel, An American Passion. 269 00:14:58,950 --> 00:15:01,650 Det er navnet knyttet til den. 270 00:15:01,650 --> 00:15:03,120 Type ressursen er tekst. 271 00:15:03,120 --> 00:15:06,070 Det er mye informasjon her i dette formatet. 272 00:15:06,070 --> 00:15:09,480 >> Men det er en gjeng av forskjellige formater. 273 00:15:09,480 --> 00:15:11,920 Så det vi var bare ser på er et format 274 00:15:11,920 --> 00:15:17,700 kalt MODS, som står for Metadata Object Beskrivelse Service, 275 00:15:17,700 --> 00:15:18,250 potensielt. 276 00:15:18,250 --> 00:15:23,030 Jeg er faktisk ikke helt sikker på om S. Men det er en ganske kompleks format. 277 00:15:23,030 --> 00:15:24,240 Det er standardformatet. 278 00:15:24,240 --> 00:15:30,260 >> Men det er den som holder rikdom av alle data 279 00:15:30,260 --> 00:15:33,820 at biblioteket har fordi det er svært nær til hva 280 00:15:33,820 --> 00:15:35,110 Biblioteket bruker internt. 281 00:15:35,110 --> 00:15:39,030 Det er en standard som er brukes over hele landet, 282 00:15:39,030 --> 00:15:40,944 over hele verden i fagbibliotek. 283 00:15:40,944 --> 00:15:42,110 Og det er veldig interoperable. 284 00:15:42,110 --> 00:15:44,852 Så hvis du har et dokument som er i MODS format, 285 00:15:44,852 --> 00:15:47,560 du kan gi den til noen andre som har systemer som forstår MODS, 286 00:15:47,560 --> 00:15:48,518 og de kan importere den. 287 00:15:48,518 --> 00:15:50,840 Så det er en standard. 288 00:15:50,840 --> 00:15:54,250 Det er veldig godt definert, svært spesifikke. 289 00:15:54,250 --> 00:15:58,980 Og det er det som gjør det interoperable fordi hvis noen sier, 290 00:15:58,980 --> 00:16:04,930 dette er den alternative tittelen på en posten, alle vet hva det betyr. 291 00:16:04,930 --> 00:16:07,740 På baksiden, er det svært komplisert. 292 00:16:07,740 --> 00:16:13,160 >> Så hvis du tar en titt på denne posten her, 293 00:16:13,160 --> 00:16:15,320 hvis jeg bare ønsker å få Tittelen på dette dokumentet, 294 00:16:15,320 --> 00:16:21,150 av denne boken, som sannsynligvis Donuts, En amerikansk Passion, parsing det ut 295 00:16:21,150 --> 00:16:22,940 er et lite involvert. 296 00:16:22,940 --> 00:16:27,380 Mens det er en annen format kalt Dublin Core, 297 00:16:27,380 --> 00:16:29,730 som er en mye enklere format. 298 00:16:29,730 --> 00:16:33,764 >> Og så du ser her, er det ingen tittel, undertittel, alternative tittelen. 299 00:16:33,764 --> 00:16:35,930 Det er bare tittelen, Donuts, An American Passion, 300 00:16:35,930 --> 00:16:38,780 og en annen tittel, amerikansk Passion. 301 00:16:38,780 --> 00:16:42,907 Så når du ser på hvilken form Ønsker du å få dataene ut av, 302 00:16:42,907 --> 00:16:44,740 mye avhenger av hvordan du kommer til å bruke den. 303 00:16:44,740 --> 00:16:46,573 Bruker du for interoperabilitet eller har du 304 00:16:46,573 --> 00:16:49,970 vil ha noe enkelt som kan være lettere å jobbe med? 305 00:16:49,970 --> 00:16:56,002 >> På baksiden, mye av detaljer blir liksom klemt ned. 306 00:16:56,002 --> 00:16:58,460 Du kan miste nyansene av hva et bestemt felt middel 307 00:16:58,460 --> 00:17:02,960 hvis du arbeider med Dublin Core, som du ikke ville få med MODS. 308 00:17:02,960 --> 00:17:06,462 Så de er to av formatene du kan få ut av API. 309 00:17:06,462 --> 00:17:08,920 Og i utgangspunktet holder vi det bak kulissene i MODS. 310 00:17:08,920 --> 00:17:14,179 Men vi kan gi deg den i MODS og Dublin Core og noe annet også. 311 00:17:14,179 --> 00:17:16,470 Det andre hensynet når du ser i data 312 00:17:16,470 --> 00:17:21,210 er du kan få det som enten JSON, som står for Javascript Object Notation, 313 00:17:21,210 --> 00:17:24,720 eller XML, som står for Extensible Markup Language. 314 00:17:24,720 --> 00:17:30,080 Og disse data representasjoner både har nøyaktig de samme dataene, nøyaktig 315 00:17:30,080 --> 00:17:31,080 de samme feltene. 316 00:17:31,080 --> 00:17:33,644 Men de er bare syntaktisk forskjellig. 317 00:17:33,644 --> 00:17:40,401 >> Så dette er a-- 318 00:17:40,401 --> 00:17:41,400 Vel, la oss bare slå. 319 00:17:41,400 --> 00:17:47,490 Så dette er vår spørring for donuts i XML-format. 320 00:17:47,490 --> 00:17:53,470 Hvis jeg bare slå dette å være JSON, Jeg kan se det ser annerledes ut. 321 00:17:53,470 --> 00:17:58,580 Så nå er dette det samme innholdet, men en annen struktur. 322 00:17:58,580 --> 00:18:00,080 Det er færre vinkelparenteser. 323 00:18:00,080 --> 00:18:02,530 Det er mindre ordrik. 324 00:18:02,530 --> 00:18:06,440 >> Og dette er et format som, hvis du arbeider i nettmiljøet, 325 00:18:06,440 --> 00:18:09,680 du er mest sannsynlig kommer å ønske å bruke fordi man 326 00:18:09,680 --> 00:18:12,630 av de fine tingene om JSON er den er kompatibel med Javascript. 327 00:18:12,630 --> 00:18:17,680 Så hvis jeg skriver web app, kan jeg trekke i JSON og bare jobbe med det direkte. 328 00:18:17,680 --> 00:18:20,187 Mens med XML, er det en litt mer komplisert. 329 00:18:20,187 --> 00:18:21,520 Så igjen, disse er både nyttig. 330 00:18:21,520 --> 00:18:26,387 De bare er ulike brukstilfeller hvor folk kanskje ønsker å bruke dem. 331 00:18:26,387 --> 00:18:26,886 OK. 332 00:18:26,886 --> 00:18:29,810 333 00:18:29,810 --> 00:18:31,680 Så tilbake til API. 334 00:18:31,680 --> 00:18:32,900 Slik at vi kan søke for-- 335 00:18:32,900 --> 00:18:36,220 >> Jeg gir et eksempel på søker etter donuts. 336 00:18:36,220 --> 00:18:39,330 Vi kan også søke bare i en bestemt felt innenfor her. 337 00:18:39,330 --> 00:18:41,310 Så i stedet for å lete hele posten, 338 00:18:41,310 --> 00:18:43,870 Jeg kan bare søke på tittel-feltet. 339 00:18:43,870 --> 00:18:48,810 Og så nå er det 25 ting som har donuts i tittelen, hvorav den ene 340 00:18:48,810 --> 00:18:52,430 handler om å gjenopprette våtmarker i ledelse 341 00:18:52,430 --> 00:18:54,990 av hullet i smultring program, som sannsynligvis er 342 00:18:54,990 --> 00:18:58,970 ikke nødvendigvis det vi leter for når vi søker etter donuts. 343 00:18:58,970 --> 00:19:02,790 344 00:19:02,790 --> 00:19:05,490 >> Du kan også, når du er arbeider med en API-- 345 00:19:05,490 --> 00:19:08,827 >> Del av å ha en API er å gi mennesker tilgang til store datasett. 346 00:19:08,827 --> 00:19:11,410 Og det er et par forskjellige verktøy du kan bruke til å gjøre det. 347 00:19:11,410 --> 00:19:14,170 Det ene er, veldig enkelt, du kan bla gjennom dataene. 348 00:19:14,170 --> 00:19:17,340 Så akkurat som om du gjør en spørring gjennom et webgrensesnitt, 349 00:19:17,340 --> 00:19:19,470 du kan se på side en, side to, side tre. 350 00:19:19,470 --> 00:19:22,040 Du kan gjøre det samme ting gjennom API. 351 00:19:22,040 --> 00:19:24,150 Du trenger bare å være eksplisitt i hvordan du gjør det. 352 00:19:24,150 --> 00:19:29,511 >> Så for eksempel, hvis jeg ser på min første spørring her, 353 00:19:29,511 --> 00:19:32,510 hvor jeg gjør et søk etter ting med donuts i tittelen, kan jeg si, 354 00:19:32,510 --> 00:19:35,415 og grense lik 20, noe som innebærer gi meg de første 20 postene, ikke 355 00:19:35,415 --> 00:19:38,540 de første 10, som er standard, fordi jeg ønsker å se på 20 om gangen. 356 00:19:38,540 --> 00:19:43,435 Eller jeg kan si, sett starte lik 20 og begrense 357 00:19:43,435 --> 00:19:47,150 lik 20, noe som vil gi Me Records 21 gjennom 40. 358 00:19:47,150 --> 00:19:52,680 >> Så jeg antar det å ta bort her er 359 00:19:52,680 --> 00:19:57,290 at vi bruker de søkestrenger å sette parametre på spørringen. 360 00:19:57,290 --> 00:20:02,760 Og det lar deg kontroll hva du får tilbake. 361 00:20:02,760 --> 00:20:05,980 >> Et annet verktøy som du kan bruke, - 362 00:20:05,980 --> 00:20:09,250 >> Og dette er virkelig nyttig i vilkårene for å utforske dataene. 363 00:20:09,250 --> 00:20:10,840 >> --is noe som heter face. 364 00:20:10,840 --> 00:20:15,530 Så begrepet face er ikke nødvendigvis vanlig. 365 00:20:15,530 --> 00:20:16,880 Men du har alle sett det før. 366 00:20:16,880 --> 00:20:18,630 Hvis du tar en titt på Amazon, for eksempel, 367 00:20:18,630 --> 00:20:20,870 og du gjør et søk etter donuts i bøkene, 368 00:20:20,870 --> 00:20:27,080 her de har fått en rekke bøker, og de er gruppert etter kategori, 369 00:20:27,080 --> 00:20:30,470 og du får de forskjellige kategoriene, og hvor mange bøker i hver kategori 370 00:20:30,470 --> 00:20:31,330 dukke opp. 371 00:20:31,330 --> 00:20:33,420 >> Så dette er i utgangspunktet en fasett. 372 00:20:33,420 --> 00:20:37,570 Du tar alle sine bøker, den 1800 bøker som passer donuts på Amazon. 373 00:20:37,570 --> 00:20:39,820 12 av dem er i frokost kategori. 374 00:20:39,820 --> 00:20:43,100 21 i bakverk og baking, og så videre og så videre. 375 00:20:43,100 --> 00:20:47,670 >> Så dette er virkelig en nyttig verktøy for å utforske innhold 376 00:20:47,670 --> 00:20:53,260 i biblioteket i tillegg fordi når du ser på en fasett, 377 00:20:53,260 --> 00:20:56,520 det gir deg en idé om hvilke fag eksisterer, som hva slags fag 378 00:20:56,520 --> 00:20:58,510 er mest populære i søket sett. 379 00:20:58,510 --> 00:21:00,950 Og det hjelper deg kjøre av og utforske. 380 00:21:00,950 --> 00:21:02,770 Slik at vi kan gjøre det samme. 381 00:21:02,770 --> 00:21:05,940 >> Hvis vi ønsker å bruke API og se på fasetter, 382 00:21:05,940 --> 00:21:08,950 legger vi til en parameter til vår venn søkestrengen. 383 00:21:08,950 --> 00:21:12,540 Så fasetter tilsvarer en kommaseparert liste over hva vi ønsker å fasett på. 384 00:21:12,540 --> 00:21:14,790 Så en av de fasetter kan være gjenstand. 385 00:21:14,790 --> 00:21:16,565 En annen kan være språk. 386 00:21:16,565 --> 00:21:19,665 Og så hvis vi kjøre denne spørringen, vi get-- 387 00:21:19,665 --> 00:21:23,372 388 00:21:23,372 --> 00:21:24,830 Det ser ganske mye det samme her. 389 00:21:24,830 --> 00:21:29,010 Men vi har lagt til på slutten av listen et sett med fasetter. 390 00:21:29,010 --> 00:21:34,060 Så vi har en fasett kalt emne. 391 00:21:34,060 --> 00:21:40,250 Så dette er å fortelle oss at hvis jeg ser på min 80 resultater fra smultring spørring, 392 00:21:40,250 --> 00:21:42,100 13 av dem har utsette USA. 393 00:21:42,100 --> 00:21:43,684 Tre har faget donuts. 394 00:21:43,684 --> 00:21:45,600 Tre har faget av våtmarks restaurering, 395 00:21:45,600 --> 00:21:47,720 som kan være vår hull i smultring. 396 00:21:47,720 --> 00:21:51,780 To av dem, The Simpsons, og så videre og så videre. 397 00:21:51,780 --> 00:21:59,211 >> Så dette kan være nyttig hvis du ønsker å begrense søket ditt. 398 00:21:59,211 --> 00:22:00,210 Det kan hjelpe deg å gjøre det. 399 00:22:00,210 --> 00:22:03,580 Spesielt hvis du har mer enn, si, 80 resultater. 400 00:22:03,580 --> 00:22:05,980 >> Tilsvarende har vi også bedt om for fasetter på språket. 401 00:22:05,980 --> 00:22:14,790 Så hvis vi ser på våre resultater, ser vi 76 av dem er på engelsk, fire i fransk, 402 00:22:14,790 --> 00:22:19,620 to i spansk, to, jeg tror det er udefinert eller ukjent, nederlandsk og latin. 403 00:22:19,620 --> 00:22:22,830 Så jeg tror det latinske smultring resultat igjen 404 00:22:22,830 --> 00:22:24,922 har ingenting å gjøre med bakevarer. 405 00:22:24,922 --> 00:22:25,630 Men det du går. 406 00:22:25,630 --> 00:22:31,420 407 00:22:31,420 --> 00:22:38,630 >> Så dette er liksom viser deg hvordan du kan trekke innholdet tilbake 408 00:22:38,630 --> 00:22:41,270 fra API bare gjennom nettleser, som er flott. 409 00:22:41,270 --> 00:22:44,320 Men det er egentlig ikke hva du ville normalt være å bruke i API for det. 410 00:22:44,320 --> 00:22:48,710 Så ett eksempel på hvordan du faktisk kunne gjøre dette er jeg har 411 00:22:48,710 --> 00:22:54,720 skrevet en super lite program, som igjen gjør min donut søk 412 00:22:54,720 --> 00:22:59,010 og velger et par felt og viser dem i en tabell. 413 00:22:59,010 --> 00:23:01,610 Så dette er veldig mye samme innhold som vi bare 414 00:23:01,610 --> 00:23:04,830 sag med noen få felt trukket ut. 415 00:23:04,830 --> 00:23:12,090 Slik liste med titler, de Plasseringen av det boken 416 00:23:12,090 --> 00:23:15,120 handler om, språket, og så videre og så videre. 417 00:23:15,120 --> 00:23:20,480 >> Så hvordan dette faktisk skjedde, siden Jeg tror vi må se på noen kode, 418 00:23:20,480 --> 00:23:22,420 er-- 419 00:23:22,420 --> 00:23:28,060 >> Hva vi har her er en enkel HTML side, som viser teksten, 420 00:23:28,060 --> 00:23:32,900 Velkommen til biblioteket sky og deretter viser en tabell over resultatene. 421 00:23:32,900 --> 00:23:37,790 Og det er åpenbart ingen resultater i bordet når siden blir lastet. 422 00:23:37,790 --> 00:23:41,380 Men hva vi gjør er først av alt, vi 423 00:23:41,380 --> 00:23:46,290 legger et bibliotek kalt jQuery, som er utgangspunktet 424 00:23:46,290 --> 00:23:52,030 en Javascript-bibliotek, som gjør det meget lett å manipulere Java 425 00:23:52,030 --> 00:23:58,780 problemfritt, HTML, og lage websider, klientsiden logikk og websider. 426 00:23:58,780 --> 00:24:01,595 >> Så det vi har her er jQuery har en metode som kalles Get, 427 00:24:01,595 --> 00:24:05,270 som i alt vesentlig vil gå til en URL-adresse, som i dette tilfellet 428 00:24:05,270 --> 00:24:09,070 er dette kjent ute URL. 429 00:24:09,070 --> 00:24:14,440 Og vil da få innholdet fra at URL og deretter kjøre en funksjon på den. 430 00:24:14,440 --> 00:24:19,240 Så vi sa gå til api.lib.harvard / edu. 431 00:24:19,240 --> 00:24:20,060 Søk etter donuts. 432 00:24:20,060 --> 00:24:21,300 Gi oss 20 poster. 433 00:24:21,300 --> 00:24:28,590 Og deretter kjøre denne funksjonen, som Jeg har valgt, passerer det dataene. 434 00:24:28,590 --> 00:24:34,430 Og dataene er JSON som fikk returnert fra API. 435 00:24:34,430 --> 00:24:40,120 >> Og så skal vi si, innenfor det data er det et felt som heter element. 436 00:24:40,120 --> 00:24:48,117 Og hvis jeg går ta en titt tilbake på en av disse resultatene som er her, 437 00:24:48,117 --> 00:24:49,200 det er noe called-- 438 00:24:49,200 --> 00:24:50,220 >> Vel, det heter element. 439 00:24:50,220 --> 00:24:53,520 Slik at det kan være at. 440 00:24:53,520 --> 00:25:01,840 Og hva det gjør er det går gjennom hvert element 441 00:25:01,840 --> 00:25:05,300 og deretter kaller en annen funksjon på hvert element. 442 00:25:05,300 --> 00:25:08,440 Og at funksjonen i utgangspunktet tar verdien 443 00:25:08,440 --> 00:25:12,010 av elementet, som er hovedsak den enkelte posten 444 00:25:12,010 --> 00:25:18,220 og tillater oss å trekke ut tittelen, dekningen og språket. 445 00:25:18,220 --> 00:25:21,640 >> Så vi kaller en funksjon på hver element som vi kom tilbake fra API. 446 00:25:21,640 --> 00:25:25,397 Og hvis du bare ta en titt på dette stykket akkurat her, 447 00:25:25,397 --> 00:25:27,230 hva vi gjør er vi skaper en streng, 448 00:25:27,230 --> 00:25:31,810 som er egentlig litt HTML markup rundt et bord, med value.title, 449 00:25:31,810 --> 00:25:35,790 som er tittelen på objekt, value.coverage, 450 00:25:35,790 --> 00:25:36,790 som er dekningen, - 451 00:25:36,790 --> 00:25:38,225 >> Og vi gjør en sjekk her for å se hvem som er udefinert 452 00:25:38,225 --> 00:25:40,570 og skjule det hvis det står udefinert, fordi vi er egentlig ikke interessert 453 00:25:40,570 --> 00:25:41,600 i det. 454 00:25:41,600 --> 00:25:42,939 >> --og deretter språket. 455 00:25:42,939 --> 00:25:44,730 Og så hva vi er gjør er å legge det 456 00:25:44,730 --> 00:25:48,510 til bordet som er identifisert av denne strengen her. 457 00:25:48,510 --> 00:25:50,790 Og hvordan jQuery fungerer er hva dette sier 458 00:25:50,790 --> 00:25:56,420 er å se etter tabellen med ideen resultater og legge til denne teksten til det. 459 00:25:56,420 --> 00:25:59,380 Og dette er bordet med ideen resultater. 460 00:25:59,380 --> 00:26:04,998 Så hva du ender opp med er denne siden her. 461 00:26:04,998 --> 00:26:06,206 Og for å vise source-- 462 00:26:06,206 --> 00:26:11,310 463 00:26:11,310 --> 00:26:13,810 Vel, er kilden faktisk ikke oppdatert når det skjedde. 464 00:26:13,810 --> 00:26:18,740 Så du kan se den faktiske Resultatene av tabellen her skjønt. 465 00:26:18,740 --> 00:26:24,770 >> Så det er bare et enkelt eksempel på gjør en svært grunnleggende spørring mot API 466 00:26:24,770 --> 00:26:29,020 og fremvisning av informasjon på annen form, og ikke gjør noe for fancy. 467 00:26:29,020 --> 00:26:36,370 Nå er et annet eksempel som en applikasjon skrevet av David Weinberger 468 00:26:36,370 --> 00:26:39,120 som en demo av dette, noe som hovedsak viser deg 469 00:26:39,120 --> 00:26:44,620 hvordan du kan mash opp resultatene du er komme fra biblioteket sky API 470 00:26:44,620 --> 00:26:46,250 med, sier Google Books. 471 00:26:46,250 --> 00:26:52,225 >> Og tenker her er at jeg kan kjøre en spørring mot Google Books, 472 00:26:52,225 --> 00:26:56,060 få et fulltekstsøk, få noen resultater tilbake, finne ut hvilke av disse elementene 473 00:26:56,060 --> 00:27:01,180 faktisk eksisterer i Hollis, biblioteksystemet, 474 00:27:01,180 --> 00:27:03,200 og deretter gi meg linker tilbake til disse elementene. 475 00:27:03,200 --> 00:27:12,730 Så hvis jeg søker etter, det var en mørk og stormfull natt, jeg 476 00:27:12,730 --> 00:27:16,210 få tilbake en haug med resultater fra Google, og deretter ett resultat 477 00:27:16,210 --> 00:27:19,460 som er A Wrinkle in Time. 478 00:27:19,460 --> 00:27:29,330 Og disse er linker til bøker som eksisterer innenfor Harvard Library system. 479 00:27:29,330 --> 00:27:32,160 >> Så jeg antar poenget her er ikke så mye at dette kanskje eller kanskje ikke 480 00:27:32,160 --> 00:27:34,118 være slik at du vil ha å søke biblioteket, 481 00:27:34,118 --> 00:27:38,310 men det er en helt annen måte som ikke var tilgjengelig for deg 482 00:27:38,310 --> 00:27:42,884 før, som om du hadde ingen måte å gjøre fulltekst søker på bøker som selv 483 00:27:42,884 --> 00:27:44,550 var en del av Harvard Library system. 484 00:27:44,550 --> 00:27:46,870 Så nå er dette en måte at du kan gjøre det. 485 00:27:46,870 --> 00:27:51,930 Og du kan vise dem i det formatet du ønsker. 486 00:27:51,930 --> 00:27:55,990 Så poenget her er, i utgangspunktet, vi åpner opp for nye måter for folk 487 00:27:55,990 --> 00:27:59,080 å arbeide med dataene. 488 00:27:59,080 --> 00:28:07,925 >> En annen del av bibliotek sky er at det hjelper utsette noen av de databruk 489 00:28:07,925 --> 00:28:08,800 at biblioteket har. 490 00:28:08,800 --> 00:28:12,630 Så hvis du går til biblioteket, og du er på jakt etter bøker, 491 00:28:12,630 --> 00:28:15,770 Du trenger ikke nødvendigvis faktisk har en idé om, 492 00:28:15,770 --> 00:28:19,080 for alle elementene i en bestemt emne, hva 493 00:28:19,080 --> 00:28:21,200 er folk i samfunnet, enten det er 494 00:28:21,200 --> 00:28:24,890 definert som Harvard eller land eller klassen din, 495 00:28:24,890 --> 00:28:26,421 hva har de fant mest nyttig? 496 00:28:26,421 --> 00:28:28,920 Og biblioteket har faktisk en massevis av informasjon om hva 497 00:28:28,920 --> 00:28:32,999 er de nyttige fordi dersom en masse av folk sjekker ut en bok, 498 00:28:32,999 --> 00:28:34,040 som forteller deg noe. 499 00:28:34,040 --> 00:28:36,498 Det må ha vært en eller annen grunn de ønsker å sjekke det ut. 500 00:28:36,498 --> 00:28:38,270 Mange satte den på reserve. 501 00:28:38,270 --> 00:28:42,520 >> Hvis den er på reservelisten for mye av klasser, som forteller deg noe. 502 00:28:42,520 --> 00:28:45,960 Hvis fakultetet medlemmer skal sjekke det ut mye og studenter ikke er det, 503 00:28:45,960 --> 00:28:47,200 som forteller meg noe. 504 00:28:47,200 --> 00:28:49,280 Vice versa, som også forteller deg noe. 505 00:28:49,280 --> 00:28:54,680 Så det ville være veldig interessant å sette det informasjon der ute og la 506 00:28:54,680 --> 00:28:59,969 folk bruker den til å hjelpe dem med å finne arbeider innenfor biblioteksystemet. 507 00:28:59,969 --> 00:29:02,260 Baksiden av dette er det er noen alvorlige personvernet 508 00:29:02,260 --> 00:29:07,854 bekymring fordi en av sentrale grunnprinsippene i biblioteket 509 00:29:07,854 --> 00:29:10,770 er vi ikke kommer til å fortelle folk hva andre folk leser. 510 00:29:10,770 --> 00:29:17,360 Og selv om du sier dette Boken ble sjekket ut fire ganger 511 00:29:17,360 --> 00:29:20,070 i en bestemt måned som kan benyttes 512 00:29:20,070 --> 00:29:25,252 å lenke tilbake til en bestemt person ved de-anonymiserer data 513 00:29:25,252 --> 00:29:26,710 og finne ut hvem som sjekket det ut. 514 00:29:26,710 --> 00:29:30,792 Så den måten at vi kan avoid-- 515 00:29:30,792 --> 00:29:33,750 Den måten at vi kan prøve å trekke ut noen signaler fra all informasjon 516 00:29:33,750 --> 00:29:36,740 uten å krenke alles personvern 517 00:29:36,740 --> 00:29:42,150 er egentlig vi ser på 10 års bruksdata, - 518 00:29:42,150 --> 00:29:43,930 >> Derfor er det over en lang tidsperiode. 519 00:29:43,930 --> 00:29:50,639 >> --og si, OK, la oss se hvordan mange ganger dette arbeidet ble brukt, 520 00:29:50,639 --> 00:29:52,930 og av hvem i denne perioden tid, og deretter i utgangspunktet 521 00:29:52,930 --> 00:29:56,300 gi tilbake et tall, som vi kaller en stabel score, som i utgangspunktet 522 00:29:56,300 --> 00:29:59,910 representerer hvor mye det er blitt brukt. 523 00:29:59,910 --> 00:30:01,084 Og at number-- 524 00:30:01,084 --> 00:30:03,250 En rekke ulike beregninger gå inn i dette nummeret. 525 00:30:03,250 --> 00:30:05,150 --men det er en veldig grov beregning som gir deg 526 00:30:05,150 --> 00:30:11,300 noen ide om hvordan samfunnet kan verdi som fungerer. 527 00:30:11,300 --> 00:30:16,772 >> Og så en annen form for selv mer fleshed ut søknad 528 00:30:16,772 --> 00:30:18,480 som utnytter av dette er noe 529 00:30:18,480 --> 00:30:24,000 kalt Stacklife, som faktisk er tilgjengelig gjennom hoved Harvard 530 00:30:24,000 --> 00:30:24,880 Bibliotekportalen. 531 00:30:24,880 --> 00:30:26,700 Så du går til library.harvard.edu. 532 00:30:26,700 --> 00:30:29,360 Du vil se en rekke ulike måter å søke biblioteket. 533 00:30:29,360 --> 00:30:32,300 Og en av dem heter Stacklife. 534 00:30:32,300 --> 00:30:38,980 >> Og dette er et program som blar innholdet av biblioteket, 535 00:30:38,980 --> 00:30:43,490 men er fullstendig bygget på toppen av disse API-er. 536 00:30:43,490 --> 00:30:46,910 Så det er ingen spesiell ting skjer bak kulissene. 537 00:30:46,910 --> 00:30:49,570 Det er ingen tilgang til data som du ikke har. 538 00:30:49,570 --> 00:30:54,090 Det er ved hjelp av APIer for å gi deg med en helt annen surfing 539 00:30:54,090 --> 00:30:55,480 erfaring. 540 00:30:55,480 --> 00:30:58,570 >> Så hvis jeg søker etter Alice in Wonderland i dette tilfellet, 541 00:30:58,570 --> 00:31:02,600 Jeg får et resultat som ser ut som dette, noe som er ganske much-- 542 00:31:02,600 --> 00:31:05,430 543 00:31:05,430 --> 00:31:10,870 >> Det er veldig likt andre søk du kan gjøre, bortsett fra i dette tilfellet 544 00:31:10,870 --> 00:31:15,730 vi kårer de elementene ved stackscore, som gir deg 545 00:31:15,730 --> 00:31:19,850 noen ide om hvor populære disse elementer var innenfor fellesskapet. 546 00:31:19,850 --> 00:31:25,610 Og så klart, Alice in Wonderland av Walt Disney er svært populære. 547 00:31:25,610 --> 00:31:36,570 Men du kan også se de fire beste her er de du kanskje ikke actually-- 548 00:31:36,570 --> 00:31:39,220 >> Ting som er sterkt brukt, men du kan ikke umiddelbart 549 00:31:39,220 --> 00:31:41,240 få kontakt med Alice in Wonderland. 550 00:31:41,240 --> 00:31:44,650 Så vår gamle venn The Annotated Alice er her. 551 00:31:44,650 --> 00:31:46,350 Så jeg kan ta en titt på den. 552 00:31:46,350 --> 00:31:52,010 Og nå det jeg leter på er egentlig et sett of-- 553 00:31:52,010 --> 00:31:53,760 Jeg kan ha The Annotated Alice akkurat her. 554 00:31:53,760 --> 00:31:56,700 Jeg har informasjon om det. 555 00:31:56,700 --> 00:32:00,230 Og jeg har også en stackscore av, i dette tilfelle 26. 556 00:32:00,230 --> 00:32:03,169 Og dette forteller meg liksom omtrent hvordan vi kom til denne stackscore, 557 00:32:03,169 --> 00:32:05,835 lignende som sjekket det ut, som hvordan mange ganger det ble sjekket ut, 558 00:32:05,835 --> 00:32:08,440 som fakultetet eller grads, hvordan mange kopier biblioteket har, 559 00:32:08,440 --> 00:32:11,300 og så videre og så videre. 560 00:32:11,300 --> 00:32:16,460 >> Og du kan også, interessant nok her, bla gjennom stabler nesten. 561 00:32:16,460 --> 00:32:19,550 Så dataene her, denne viser du liksom 562 00:32:19,550 --> 00:32:23,547 av en virtuell representasjon av hva sokkelen makt 563 00:32:23,547 --> 00:32:25,880 se ut som om du skulle ta alle bibliotekets beholdning 564 00:32:25,880 --> 00:32:28,940 og sette dem sammen på en uendelig sokkel. 565 00:32:28,940 --> 00:32:30,990 Og det fine er at vi can-- 566 00:32:30,990 --> 00:32:33,380 >> Først av alt, metadata om disse bøkene 567 00:32:33,380 --> 00:32:35,627 ofte forteller deg når den ble publisert. 568 00:32:35,627 --> 00:32:37,085 Den forteller deg hvor mange sider det har. 569 00:32:37,085 --> 00:32:38,459 Det kan fortelle deg dimensjonene. 570 00:32:38,459 --> 00:32:42,930 Så du kan se som gjenspeiles her når det gjelder størrelsen på bøkene. 571 00:32:42,930 --> 00:32:46,740 >> Og så kan vi bruke stable score for å markere 572 00:32:46,740 --> 00:32:49,170 bøkene som har høyere stack score. 573 00:32:49,170 --> 00:32:54,930 Så hvis det er mørkere, betyr det at antagelig er det brukt oftere. 574 00:32:54,930 --> 00:32:57,040 Så i dette tilfellet, er jeg kommer til å gjette at dette 575 00:32:57,040 --> 00:33:03,226 er versjonen av Alice in Wonderland som er svært vanlig, og de fleste 576 00:33:03,226 --> 00:33:05,100 nås, biblioteket har flest eksemplarer av. 577 00:33:05,100 --> 00:33:06,975 Så hvis du leter for Alice in Wonderland, 578 00:33:06,975 --> 00:33:10,220 dette kan være et godt sted å begynne. 579 00:33:10,220 --> 00:33:13,500 >> Og så her kan du også koble ut til, sier Amazon å kjøpe boken, 580 00:33:13,500 --> 00:33:15,182 og så videre og så videre. 581 00:33:15,182 --> 00:33:17,140 Poenget her, igjen, er ikke så mye at denne 582 00:33:17,140 --> 00:33:25,030 er den beste måten å bla i biblioteket eller det riktige verktøyet for enhver anledning. 583 00:33:25,030 --> 00:33:28,400 Men det er en annen måte å gjøre det. 584 00:33:28,400 --> 00:33:31,359 Og ved å gjøre data tilgjengelig gjennom et API, som 585 00:33:31,359 --> 00:33:34,650 er laget av meget enkle byggestenene, som lar deg søke i innholdet, 586 00:33:34,650 --> 00:33:39,420 du kan bygge noe som dette som kan 587 00:33:39,420 --> 00:33:41,520 være used verdifull for noen mennesker. 588 00:33:41,520 --> 00:33:46,640 589 00:33:46,640 --> 00:33:51,860 >> Så det er liksom så mye som jeg ønsker å si egentlig om hva API er 590 00:33:51,860 --> 00:33:56,070 og hva det utsetter, det er en hel haug med ting bak kulissene, som 591 00:33:56,070 --> 00:33:59,480 Jeg kommer bare til å røre på kort bare fordi det liksom kommer på dette 592 00:33:59,480 --> 00:34:03,720 fra en helt annen vinkel gjelder hvordan gjør noe som dette 593 00:34:03,720 --> 00:34:04,580 få satt på plass? 594 00:34:04,580 --> 00:34:10,820 >> Så en API er et standard grensesnitt til alt dette innholdet. 595 00:34:10,820 --> 00:34:13,820 Men for å få det der, første vi måtte gjøre 596 00:34:13,820 --> 00:34:17,260 ble trekke sammen informasjon av bøker og bilder 597 00:34:17,260 --> 00:34:21,580 og finne hjelpemidler, samlingen dokument fra ulike Harvard-systemer. 598 00:34:21,580 --> 00:34:23,929 Aleph, VIA, og OASIS er navnene på de systemer. 599 00:34:23,929 --> 00:34:28,820 Og de i hovedsak går inn i en rørledningen, en behandling rørledning. 600 00:34:28,820 --> 00:34:33,230 >> Så først av alt, vi får eksport filer fra alle disse systemer. 601 00:34:33,230 --> 00:34:35,130 Vi dele dem opp i enkeltelementer. 602 00:34:35,130 --> 00:34:39,360 Så vi har en fil, som er en gigabyte, som har en million poster i den. 603 00:34:39,360 --> 00:34:42,290 Så vi dele den opp i enkeltelementer. 604 00:34:42,290 --> 00:34:45,374 Så, for hvert element, vi konvertere den i MODS, fordi noen av disse 605 00:34:45,374 --> 00:34:47,040 er problemfritt MODS, noen av dem er det ikke. 606 00:34:47,040 --> 00:34:49,204 Så vi får dem alle til være i samme format. 607 00:34:49,204 --> 00:34:51,120 Så er det ulike berikelse trinn, hvor 608 00:34:51,120 --> 00:34:55,969 vi legge til mer informasjon til data enn det som var tilgjengelig i biblioteket. 609 00:34:55,969 --> 00:34:59,750 Så vi må legge til, først av alt vi har det biblioteker holder det. 610 00:34:59,750 --> 00:35:02,250 Vi går gjennom et trinn av beregne stackscore. 611 00:35:02,250 --> 00:35:07,112 Vi går gjennom et nytt skritt av legge til flere metadata i form 612 00:35:07,112 --> 00:35:10,730 av hva samlinger folk kanskje har lagt dette-- 613 00:35:10,730 --> 00:35:12,532 >> Mennesker skaper samlinger av elementer. 614 00:35:12,532 --> 00:35:13,990 Hva samlinger hører det til? 615 00:35:13,990 --> 00:35:17,220 Hvordan har folk merket dette innholdet i det siste? 616 00:35:17,220 --> 00:35:20,750 Så du filtrere ut, og du begrense postene fordi, som jeg nevnte, 617 00:35:20,750 --> 00:35:24,120 det er noen poster som, på grunn av opphavsrettslige grunner, kan vi ikke vise. 618 00:35:24,120 --> 00:35:26,700 Og da vi laster dem inn i noe som kalles 619 00:35:26,700 --> 00:35:31,680 Solr, som ikke er en stavefeil, men er navnet på et stykke programvare 620 00:35:31,680 --> 00:35:35,710 som gjør søk indeksering, som driver alle søke bak API. 621 00:35:35,710 --> 00:35:40,110 Og så blir det tilgjengelig for API, og folk kan bruke den. 622 00:35:40,110 --> 00:35:44,640 >> Så dette er som en ganske grei prosess. 623 00:35:44,640 --> 00:35:47,230 En av de interessante ting om det er 624 00:35:47,230 --> 00:35:50,990 at vi har å gjøre med 13 millioner plater 625 00:35:50,990 --> 00:35:53,820 og vi kommer til å være håndtere eller mer. 626 00:35:53,820 --> 00:36:01,260 Og vi ønsker å være i stand til å håndtere disse i en relativt rask måte. 627 00:36:01,260 --> 00:36:03,630 Det tar lang tid å behandle 13 millioner plater. 628 00:36:03,630 --> 00:36:09,529 >> Så hvordan denne rørledningen er satt opp er at du can-- 629 00:36:09,529 --> 00:36:12,070 Jeg antar nytte av rørledningen, problemet at vi er 630 00:36:12,070 --> 00:36:15,580 prøver å løse her, er at alle transformasjoner, alle 631 00:36:15,580 --> 00:36:18,729 disse trinnene i denne rørledning kan skilles. 632 00:36:18,729 --> 00:36:19,645 Det er ingen avhengighet. 633 00:36:19,645 --> 00:36:22,146 Hvis du behandler en registrering av en bok, 634 00:36:22,146 --> 00:36:24,270 det er ingen avhengighet i at mellom en annen bok. 635 00:36:24,270 --> 00:36:27,760 >> Så det vi kan gjøre er utgangspunktet, ved hvert trinn i rørledningen, 636 00:36:27,760 --> 00:36:30,470 vi sette det inn i en kø i skyen. 637 00:36:30,470 --> 00:36:32,250 Jeg var tilfeldigvis på Amazon Web Services. 638 00:36:32,250 --> 00:36:35,140 Så det er en liste over, si, 10.000 elementer som 639 00:36:35,140 --> 00:36:38,100 trenger å være normalisert og konvertert til MODS format. 640 00:36:38,100 --> 00:36:41,620 Og vi spinner opp så mange servere som vi ønsker, kanskje 10 servere. 641 00:36:41,620 --> 00:36:44,860 Og hver av disse serverne bare sitter der, ser i denne køen, 642 00:36:44,860 --> 00:36:46,730 ser at det er en som trenger å bearbeides, trekker den av køen, 643 00:36:46,730 --> 00:36:48,740 behandler den, og pinner den på den neste køen. 644 00:36:48,740 --> 00:36:54,200 >> Og så hva som gjør oss å gjøre er å søke, i hovedsak, 645 00:36:54,200 --> 00:36:58,110 så mye maskinvare som vi ønsker å dette Problemet for en meget kort periode 646 00:36:58,110 --> 00:37:02,970 å behandle dataene så raskt som mulig, hvilket er noe som bare 647 00:37:02,970 --> 00:37:08,220 nå i verden av cloud computing Vi kan bestemmelsen servere hovedsak 648 00:37:08,220 --> 00:37:09,890 umiddelbart, er det nyttig. 649 00:37:09,890 --> 00:37:12,260 Så vi ikke trenger å ha en giganten serveren sitter rundt 650 00:37:12,260 --> 00:37:16,700 hele tiden for å gjøre behandlingen som kan skje bare en gang i uken. 651 00:37:16,700 --> 00:37:21,440 >> Så det er stort sett det. 652 00:37:21,440 --> 00:37:27,590 Det finnes dokumentasjon tilgjengelig for bibliotek Cloud Element API 653 00:37:27,590 --> 00:37:31,960 på denne nettadressen, som vil være tilgjengelig senere. 654 00:37:31,960 --> 00:37:36,730 Og vær så snill gå ta en titt på det å se om det er noe, 655 00:37:36,730 --> 00:37:37,579 du har noen ideer. 656 00:37:37,579 --> 00:37:38,120 Leke med den. 657 00:37:38,120 --> 00:37:38,830 Tøyse rundt. 658 00:37:38,830 --> 00:37:42,800 Og forhåpentligvis kan du komme opp med noe stort. 659 00:37:42,800 --> 00:37:44,740 Takk. 660 00:37:44,740 --> 00:37:45,899