1 00:00:00,000 --> 00:00:11,370 2 00:00:11,370 --> 00:00:12,370 JEFFREY LICHT: Hej där. 3 00:00:12,370 --> 00:00:13,550 Jag är Jeffrey Licht. 4 00:00:13,550 --> 00:00:17,890 Och jag är här för att prata med dig om det Harvard Library och bygga morgondagens 5 00:00:17,890 --> 00:00:20,870 biblioteks idag, antar jag. 6 00:00:20,870 --> 00:00:23,040 Så bakgrunden här, planen för den här sessionen 7 00:00:23,040 --> 00:00:26,930 är i huvudsak att det finns en massa bibliografiska 8 00:00:26,930 --> 00:00:28,400 tillgängligt i Harvard biblioteken. 9 00:00:28,400 --> 00:00:33,434 Och det finns en möjlighet, genom några av verktygen 10 00:00:33,434 --> 00:00:36,350 och ett projekt som är under utveckling, att få tillgång till den information 11 00:00:36,350 --> 00:00:42,430 och ta den till platser som den Harvard Library inte gör just nu, 12 00:00:42,430 --> 00:00:45,460 gör nya saker med det, experiment och leka med den. 13 00:00:45,460 --> 00:00:52,413 >> Så inkörsport till detta är ett API kallas Harvard Library Cloud, vilket 14 00:00:52,413 --> 00:00:57,650 är en öppen metadata server, som jag kommer att prata om nu. 15 00:00:57,650 --> 00:01:02,595 Så Bakgrunden är att det finns en massa saker i Harvard-biblioteket. 16 00:01:02,595 --> 00:01:07,150 Vi har över 13 miljoner bibliografiska register, miljontals bilder, 17 00:01:07,150 --> 00:01:11,090 och tusentals sökhjälpmedel, vilket är i huvudsak dokument som beskriver 18 00:01:11,090 --> 00:01:15,500 samlingar, säger vad är i dem, lådor av papper 19 00:01:15,500 --> 00:01:21,080 och så vidare som representerar över en miljon enskilda dokument. 20 00:01:21,080 --> 00:01:24,290 Och det finns också en hel del information som biblioteket har 21 00:01:24,290 --> 00:01:28,180 om hur innehållet används att kunde vara av intresse för människor 22 00:01:28,180 --> 00:01:32,400 som kanske vill arbeta med den. 23 00:01:32,400 --> 00:01:36,150 >> Så all information biblioteket har metadata. 24 00:01:36,150 --> 00:01:39,500 Så metadata är data om data. 25 00:01:39,500 --> 00:01:42,070 Så när vi talar om den information som är 26 00:01:42,070 --> 00:01:44,890 tillgängliga genom biblioteket moln som är tillgängliga, 27 00:01:44,890 --> 00:01:47,760 det är inte nödvändigtvis de faktiska handlingar 28 00:01:47,760 --> 00:01:53,060 själva, inte nödvändigtvis den fullständiga texten i böcker eller de fullständiga bilder, 29 00:01:53,060 --> 00:01:54,890 även om det faktiskt kan vara fallet. 30 00:01:54,890 --> 00:01:57,550 Men det är verkligen information om data. 31 00:01:57,550 --> 00:02:00,909 >> Så du kan tänka katalogisering information anropsnummer, ämnen, 32 00:02:00,909 --> 00:02:02,700 hur många kopior av Boken finns, vad 33 00:02:02,700 --> 00:02:06,380 är de upplagor, vilka är de format, författarna, och så vidare. 34 00:02:06,380 --> 00:02:12,250 Så det finns en hel del information om informationen i den samling som, 35 00:02:12,250 --> 00:02:14,400 i sig, är typ av inneboende nytta. 36 00:02:14,400 --> 00:02:19,230 Och även om du är gör fördjupad forskning, 37 00:02:19,230 --> 00:02:25,160 du uppenbarligen vill komma till själva nöja sig och titta på data, 38 00:02:25,160 --> 00:02:30,140 metadata är användbar när det gäller både analysera corpus som helhet, 39 00:02:30,140 --> 00:02:33,870 gillar vad saker är i samlingen. 40 00:02:33,870 --> 00:02:35,520 Hur förhåller de sig? 41 00:02:35,520 --> 00:02:39,482 Det hjälper dig verkligen att hitta andra saker, som egentligen är det huvudsakliga syftet med den. 42 00:02:39,482 --> 00:02:41,190 Poängen med metadata och katalogen 43 00:02:41,190 --> 00:02:43,230 är att hjälpa dig att hitta alla den information som är 44 00:02:43,230 --> 00:02:46,590 tillgängliga inom samlingarna. 45 00:02:46,590 --> 00:02:53,690 >> Så detta är ett exempel på metadata för en bok i Harvard Library. 46 00:02:53,690 --> 00:02:56,370 Så det är där. 47 00:02:56,370 --> 00:02:59,850 Och du kan se att det är faktiskt måttligt komplicerad. 48 00:02:59,850 --> 00:03:04,610 Och en del av värdet av metadata inom Harvard Library systemet 49 00:03:04,610 --> 00:03:09,320 är att det har varit sorts av byggts upp av catalogers 50 00:03:09,320 --> 00:03:12,720 och monteras av personer som ansöker en hel del kompetens och skicklighet 51 00:03:12,720 --> 00:03:20,030 och tänkte att det över tid, som har mycket av värde. 52 00:03:20,030 --> 00:03:25,450 >> Så om du tar en titt på denna post för Den kommenterade Alice, kan du ta reda på 53 00:03:25,450 --> 00:03:32,590 du har fått titeln, som skrev det, författare och alla de olika ämnena 54 00:03:32,590 --> 00:03:35,380 vilka människor har katalogis den in. 55 00:03:35,380 --> 00:03:40,110 Och ni ser finns det också, i Förutom en hel del bra information 56 00:03:40,110 --> 00:03:42,852 Här finns det en del dubbelarbete. 57 00:03:42,852 --> 00:03:45,560 Det finns en hel del komplexitet som är reflekteras genom metadata 58 00:03:45,560 --> 00:03:46,300 att du har. 59 00:03:46,300 --> 00:03:50,320 >> Så en titel denna bok är Alice i Underlandet. 60 00:03:50,320 --> 00:03:53,880 Så detta är en kommenterad version av den boken. 61 00:03:53,880 --> 00:03:56,380 Men det är också kallas den kommenterade Alice, Alice 62 00:03:56,380 --> 00:03:58,570 i Underlandet eftersom det är något som 63 00:03:58,570 --> 00:04:00,430 Martin Gardner skrev och kommenterad boken. 64 00:04:00,430 --> 00:04:03,369 Och det finns en hel del bra information om logiska pussel och saker 65 00:04:03,369 --> 00:04:05,410 inom Alice att du förmodligen inte visste om. 66 00:04:05,410 --> 00:04:07,000 Så du bör gå läsa den. 67 00:04:07,000 --> 00:04:11,940 >> Men du kan se att det finns en massa detaljer här, 68 00:04:11,940 --> 00:04:15,340 inklusive identifierare, när det skapades, var den kom ifrån, 69 00:04:15,340 --> 00:04:17,420 i termer av Harvard systemet, och så vidare. 70 00:04:17,420 --> 00:04:20,350 Så detta är ett urval av vilken typ av metadata 71 00:04:20,350 --> 00:04:24,340 som du kan se en bok i Harvard Library samlingen. 72 00:04:24,340 --> 00:04:26,680 >> Detta är något helt annat. 73 00:04:26,680 --> 00:04:32,610 Så det finns ett system som kallas VIA Harvard, som i princip 74 00:04:32,610 --> 00:04:39,990 är katalogisering bilder och konstföremål och visuella saker hela Harvard, 75 00:04:39,990 --> 00:04:44,010 och lägga till några metadata till dem, klassificera dem, 76 00:04:44,010 --> 00:04:49,200 och, i vissa fall, vilket ger små miniatyrbilder 77 00:04:49,200 --> 00:04:51,250 att du kan ta en titta på om du så önskar. 78 00:04:51,250 --> 00:04:54,240 >> Så detta är ett exempel på den metadata som du har till en platta 79 00:04:54,240 --> 00:04:57,840 från, förmodligen, Alice i Underlandet. 80 00:04:57,840 --> 00:05:00,499 Och du kan se att det finns färre metadata här. 81 00:05:00,499 --> 00:05:02,040 Det är bara en annan typ av objekt. 82 00:05:02,040 --> 00:05:03,425 Och så det finns mindre information. 83 00:05:03,425 --> 00:05:07,790 >> Du har oftast det faktum att ett samtal nummer, i huvudsak som skapade den, - 84 00:05:07,790 --> 00:05:10,410 >> Vi vet inte när den skapades. 85 00:05:10,410 --> 00:05:13,320 >> --and en titel. 86 00:05:13,320 --> 00:05:14,300 >> Ett annat exempel. 87 00:05:14,300 --> 00:05:16,380 Detta är ett konstaterande stöd. 88 00:05:16,380 --> 00:05:19,030 Så det finns en samling av Lewis Carrolls papper vid Harvard. 89 00:05:19,030 --> 00:05:23,601 Så detta beskriver vad är i den samlingen. 90 00:05:23,601 --> 00:05:26,100 Så någon har gått igenom och tittade igenom alla lådor 91 00:05:26,100 --> 00:05:32,220 och katalogis det, med tanke på vissa bakgrund, skrivit en sammanfattning av vad som finns här. 92 00:05:32,220 --> 00:05:35,290 Och om du skulle titta vidare på detta, det här 93 00:05:35,290 --> 00:05:39,620 pågår för sidor och sidor och sidor, men kommer att berätta 94 00:05:39,620 --> 00:05:41,860 vilka bokstäver och vad datum från vilka lådor 95 00:05:41,860 --> 00:05:44,289 existerade i hela samlingen. 96 00:05:44,289 --> 00:05:46,330 Men detta är något att, om du är på Harvard, 97 00:05:46,330 --> 00:05:50,720 du kan gå och faktiskt fysiskt ser upp och, förmodligen, ta en titt på. 98 00:05:50,720 --> 00:05:53,440 >> Så detta är allt bra. 99 00:05:53,440 --> 00:05:54,450 Dessa metadata nyttjande. 100 00:05:54,450 --> 00:05:56,327 Det är i Harvard Library systemet. 101 00:05:56,327 --> 00:05:58,910 Det finns verktyg på nätet där du kan gå och ta en titt på det, 102 00:05:58,910 --> 00:05:59,993 och se det, och söka den. 103 00:05:59,993 --> 00:06:02,810 Och du kan skära den och tärningar det i massor av olika sätt. 104 00:06:02,810 --> 00:06:06,920 >> Men det är egentligen bara om du är en människa som sitter ner 105 00:06:06,920 --> 00:06:12,600 på din webbläsare eller något eller telefonen och navigera genom den. 106 00:06:12,600 --> 00:06:16,730 Det är inte riktigt finns i någon form av användbar mode 107 00:06:16,730 --> 00:06:19,520 för andra system eller andra datorer att använda, 108 00:06:19,520 --> 00:06:21,500 inte med system inom Harvard Library, 109 00:06:21,500 --> 00:06:24,890 men system i omvärlden, bara andra människor i allmänhet. 110 00:06:24,890 --> 00:06:30,210 Så frågan är, hur kan vi göra den tillgänglig för datorer 111 00:06:30,210 --> 00:06:33,560 så att vi kan göra mer intressant grejer med den än bara 112 00:06:33,560 --> 00:06:36,550 surfning det själva? 113 00:06:36,550 --> 00:06:39,766 >> Så varför skulle du vilja göra detta? 114 00:06:39,766 --> 00:06:41,140 Det finns många möjligheter. 115 00:06:41,140 --> 00:06:43,980 En är att du kan bygga en helt annorlunda sätt att surfa 116 00:06:43,980 --> 00:06:46,962 det innehåll som finns tillgängligt genom Harvard Bibliotek. 117 00:06:46,962 --> 00:06:48,670 Jag ska visa dig en senare kallad Stacklife, 118 00:06:48,670 --> 00:06:52,440 som har en helt annan ta på efter innehåll. 119 00:06:52,440 --> 00:06:54,560 >> Du kan bygga en rekommendation motor. 120 00:06:54,560 --> 00:06:57,955 Så Harvard Library är inte i verksamhet för att säga, gillar du den här boken. 121 00:06:57,955 --> 00:07:01,080 Gå sedan ta en titt på dessa 17 andra böcker som du kan vara intresserad av 122 00:07:01,080 --> 00:07:03,200 eller dessa 18 andra bilder. 123 00:07:03,200 --> 00:07:06,040 Men som säkert kunde vara ett värdefullt inslag. 124 00:07:06,040 --> 00:07:09,272 Och med tanke på metadata, kan det vara möjligt att sätta det tillsammans. 125 00:07:09,272 --> 00:07:11,980 Du kanske har olika behov i gäller att söka på innehåll, 126 00:07:11,980 --> 00:07:16,200 som kanske trots de verktyg som finns att biblioteket gör 127 00:07:16,200 --> 00:07:18,450 tillgängliga, kanske du vill att söka på ett annat sätt 128 00:07:18,450 --> 00:07:21,847 eller optimera för en viss användning fall vilket kanske är det mycket specialiserad. 129 00:07:21,847 --> 00:07:23,930 Kanske finns det bara ett fåtal människor i världen som 130 00:07:23,930 --> 00:07:25,846 vill söka innehållet på detta sätt, men det 131 00:07:25,846 --> 00:07:28,985 skulle vara bra om vi kunde låta dem göra det. 132 00:07:28,985 --> 00:07:30,860 Det finns en hel del analytics på bara hur människor 133 00:07:30,860 --> 00:07:33,860 använda innehållet som skulle vara riktigt intressant att veta om, ta reda på 134 00:07:33,860 --> 00:07:37,280 vilka böcker som används, vilka är inte, och så vidare. 135 00:07:37,280 --> 00:07:41,670 Och så finns det en hel del möjlighet att integrera 136 00:07:41,670 --> 00:07:45,210 med annan information det är där ute på webben. 137 00:07:45,210 --> 00:07:46,880 Så vi have-- 138 00:07:46,880 --> 00:07:50,260 >> Till exempel har NPR en bokrecension segment, 139 00:07:50,260 --> 00:07:53,090 där de intervjuar författare om böcker. 140 00:07:53,090 --> 00:07:56,837 Och så skulle det vara bra om du var söker upp en bok i Harvard 141 00:07:56,837 --> 00:07:59,670 Bibliotek, och du säger, OK, det finns varit en intervju med författaren. 142 00:07:59,670 --> 00:08:00,878 Låt oss gå ta en titt på det. 143 00:08:00,878 --> 00:08:05,461 Eller finns det en Wikipedia sida, som en auktoritativ, vetenskaplig referens 144 00:08:05,461 --> 00:08:07,710 om denna bok som du kanske vill ta en titt på. 145 00:08:07,710 --> 00:08:12,600 >> Det finns dessa typer av källor utspridda webben. 146 00:08:12,600 --> 00:08:16,555 Och föra dem samman skulle kunna vara en stor nytta 147 00:08:16,555 --> 00:08:18,930 till någon som tittar på den innehåll, letar efter något. 148 00:08:18,930 --> 00:08:20,180 Men det är inte heller den sånt du skulle 149 00:08:20,180 --> 00:08:23,205 vill att biblioteket ska vara ansvarig för att gå ner och jaga 150 00:08:23,205 --> 00:08:25,455 alla dessa olika källor och plugg dem tillsammans 151 00:08:25,455 --> 00:08:28,920 eftersom de är ständigt förändras. 152 00:08:28,920 --> 00:08:33,570 Och vad de tycker är viktigt maj inte vad du tycker är viktigt. 153 00:08:33,570 --> 00:08:36,929 >> Och ännu mer så, i princip finns det en massa saker som vi inte har tänkt på ännu. 154 00:08:36,929 --> 00:08:42,222 Så om vi kan öppna upp detta, mer människor förutom ett halvt dussin eller så, 155 00:08:42,222 --> 00:08:45,174 som tittar på detta på ett regelbundet kan tänka idéer 156 00:08:45,174 --> 00:08:47,340 och massera data, och göra vad de vill med den. 157 00:08:47,340 --> 00:08:49,920 158 00:08:49,920 --> 00:08:54,045 >> Så vi vill göra det här data tillgängliga för världen. 159 00:08:54,045 --> 00:08:55,670 Tja, det finns ett par komplikationer. 160 00:08:55,670 --> 00:08:58,540 En är att denna metadata är i olika system. 161 00:08:58,540 --> 00:09:01,110 Det är i olika format. 162 00:09:01,110 --> 00:09:04,719 Så det finns en viss normalisering vilket måste ske, 163 00:09:04,719 --> 00:09:08,010 vilket normalisering är processen för föra saker från olika format 164 00:09:08,010 --> 00:09:12,940 och mappning av dessa till ett enda format så att fälten att matcha upp. 165 00:09:12,940 --> 00:09:15,160 >> Det finns vissa begränsningar om upphovsrätt. 166 00:09:15,160 --> 00:09:21,010 Märkligt nog katalogen posten om en bok är ansvarig för upphovsrätt. 167 00:09:21,010 --> 00:09:24,060 Så även om det är bara information från boken, 168 00:09:24,060 --> 00:09:25,330 det är upphovsrättsligt. 169 00:09:25,330 --> 00:09:28,400 Och beroende på vem som egentligen skapade att metadata, 170 00:09:28,400 --> 00:09:32,175 det kan finnas begränsningar för vem kan distribuera den, liknande att-- 171 00:09:32,175 --> 00:09:33,402 >> JAG VET INTE. 172 00:09:33,402 --> 00:09:36,110 Det kan eller inte kan vara liknande situationen för låttexter, 173 00:09:36,110 --> 00:09:36,610 till exempel. 174 00:09:36,610 --> 00:09:38,560 Så vi vet alla hur det panorerar ut. 175 00:09:38,560 --> 00:09:40,450 Så du behöver för att komma runt det problemet. 176 00:09:40,450 --> 00:09:44,910 >> Och sedan en annan bit är att det finns en hel del data. 177 00:09:44,910 --> 00:09:52,420 Så om jag är någon som vill arbeta med data eller har en cool idé, 178 00:09:52,420 --> 00:09:55,350 hantera 14 miljoner skivor på min laptop 179 00:09:55,350 --> 00:09:57,487 kan vara problematiskt och svårt att hantera. 180 00:09:57,487 --> 00:09:59,320 Så vi vill minska hindren för människor 181 00:09:59,320 --> 00:10:02,130 för att kunna arbeta med data. 182 00:10:02,130 --> 00:10:07,880 >> Så det förhållningssätt som förhoppningsvis adresser alla dessa farhågor är två delar. 183 00:10:07,880 --> 00:10:11,770 Man bygger en plattform som tar data från alla dessa olika källor 184 00:10:11,770 --> 00:10:14,350 och förvärrar det, normaliserar, berikar den och fabrikat 185 00:10:14,350 --> 00:10:16,650 den tillgänglig på en enda plats. 186 00:10:16,650 --> 00:10:20,950 Och det gör den tillgänglig via en offentlig API som folk kan ringa. 187 00:10:20,950 --> 00:10:24,430 >> Så ett API är ett program Programming Interface. 188 00:10:24,430 --> 00:10:28,930 Och det i princip hänför sig till en endpoint att ett system eller teknik 189 00:10:28,930 --> 00:10:31,720 kan ringa och få data tillbaka i ett strukturerat format på ett sätt 190 00:10:31,720 --> 00:10:32,900 att den kan användas. 191 00:10:32,900 --> 00:10:36,060 Så det är inte beroende på att gå till en webbplats 192 00:10:36,060 --> 00:10:37,970 och skrapa data från av den, till exempel. 193 00:10:37,970 --> 00:10:40,690 194 00:10:40,690 --> 00:10:45,010 >> Så detta är hemsidan för biblioteket Cloud Post API, 195 00:10:45,010 --> 00:10:47,220 som i huvudsak sin version två. 196 00:10:47,220 --> 00:10:50,130 Så det är den andra iteration av försöker göra alla dessa data 197 00:10:50,130 --> 00:10:53,280 tillgängliga för världen. 198 00:10:53,280 --> 00:10:59,560 Så det är http://api.lib.harvard.edu/v2/items. 199 00:10:59,560 --> 00:11:03,830 Och bara för att bryta ner det lite, vad detta betyder 200 00:11:03,830 --> 00:11:06,115 är att detta är version två av API. 201 00:11:06,115 --> 00:11:08,490 Det finns en version ett, vilket Jag tänker inte prata om. 202 00:11:08,490 --> 00:11:09,750 Men det finns en version ett. 203 00:11:09,750 --> 00:11:14,740 >> Och om du ringer det här API, du får objekt. 204 00:11:14,740 --> 00:11:20,640 Och en del av idén om en API är ett API är ett kontrakt. 205 00:11:20,640 --> 00:11:23,440 Det är något som är inte kommer att förändras. 206 00:11:23,440 --> 00:11:24,850 Så till exempel, - 207 00:11:24,850 --> 00:11:27,410 >> Och anledningen är att om jag bygga någon form av system som 208 00:11:27,410 --> 00:11:33,210 kommer att använda ett bibliotek moln API att visa böcker eller hjälpa människor att hitta 209 00:11:33,210 --> 00:11:36,190 information på unika sätt, vad vi inte vill ska hända 210 00:11:36,190 --> 00:11:38,940 är för oss att gå ändra hur att API fungerar, och plötsligt 211 00:11:38,940 --> 00:11:41,340 allt bryter på slutanvändarsidan. 212 00:11:41,340 --> 00:11:46,710 Så en del av om du gör API tillgängliga för världen, är det 213 00:11:46,710 --> 00:11:49,396 god praxis att sätta en versionsnummer i det så att folk 214 00:11:49,396 --> 00:11:51,020 vet vilken version de har att göra med. 215 00:11:51,020 --> 00:11:54,300 >> Så om vi beslutar vi hitta ett bättre sätt att göra denna information tillgänglig, 216 00:11:54,300 --> 00:11:57,295 vi kanske ändra det till kallar den versionen tre. 217 00:11:57,295 --> 00:11:59,920 Så alla som fortfarande använder version två, kommer det fortfarande att fungera. 218 00:11:59,920 --> 00:12:03,490 Men version tre skulle har alla nya saker. 219 00:12:03,490 --> 00:12:06,680 220 00:12:06,680 --> 00:12:09,210 >> Så detta är ett API, men detta verkligen ser ut som en webbadress. 221 00:12:09,210 --> 00:12:11,680 Och så vad det här är en exempel på är vad som är 222 00:12:11,680 --> 00:12:16,615 kallas en vila API, som är tillgänglig över bara en vanlig webb-anslutning. 223 00:12:16,615 --> 00:12:19,680 Och du kan faktiskt gå till den i webbläsaren. 224 00:12:19,680 --> 00:12:28,550 >> Så här har jag precis öppnat upp Firefox och gått till api.lib.harvard.edu/v2/items. 225 00:12:28,550 --> 00:12:31,560 Och så vad jag får här är i grund och botten på den första sidan 226 00:12:31,560 --> 00:12:34,740 av resultat från hela uppsättning objekt som vi har fått. 227 00:12:34,740 --> 00:12:37,460 Och det är här i XML-format. 228 00:12:37,460 --> 00:12:40,130 229 00:12:40,130 --> 00:12:42,210 Och det har också varit prettified av Firefox. 230 00:12:42,210 --> 00:12:45,850 Det behöver faktiskt inte ha alla dessa lite expanderande och upphandlande 231 00:12:45,850 --> 00:12:47,880 doohickeys här. 232 00:12:47,880 --> 00:12:52,520 Detta är en slags trevligare versionen sätt att se på det. 233 00:12:52,520 --> 00:12:57,040 >> Men vad detta säger oss är Jag har begärt alla objekt. 234 00:12:57,040 --> 00:13:03,120 Så det finns 13289475 objekt. 235 00:13:03,120 --> 00:13:06,150 Och jag tittar på den första 10, med början i position noll 236 00:13:06,150 --> 00:13:09,760 eftersom i datavetenskap Vi börjar alltid på noll. 237 00:13:09,760 --> 00:13:15,150 Och vad jag har här, om jag bara kollapsa detta, ser du jag har 10 objekt. 238 00:13:15,150 --> 00:13:20,410 239 00:13:20,410 --> 00:13:25,210 >> Och om jag tar en titt på ett objekt, jag kan ser att jag har fått information om det. 240 00:13:25,210 --> 00:13:27,400 Och detta är i vad som kallas MODS formuläret. 241 00:13:27,400 --> 00:13:30,860 Och så ska jag byta tillbaka hit för ett ögonblick. 242 00:13:30,860 --> 00:13:33,750 OK. 243 00:13:33,750 --> 00:13:37,447 >> Så låt oss söka efter något i specifikt eftersom det första objektet som 244 00:13:37,447 --> 00:13:40,030 råkar komma upp när du ser genom hela samlingen 245 00:13:40,030 --> 00:13:41,750 är, per definition, slumpmässig. 246 00:13:41,750 --> 00:13:44,550 Så låt oss titta efter några munkar. 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 So munkar. 250 00:13:49,940 --> 00:13:55,360 Så fann vi att det finns 80 poster i samlingen som referens munkar. 251 00:13:55,360 --> 00:13:57,150 Vi tittar på den första 10 av dem. 252 00:13:57,150 --> 00:14:01,890 Nu kan du se här det sätt som Jag sa jag letar efter munkar, 253 00:14:01,890 --> 00:14:04,400 Jag har precis lagt något att frågesträngen av URL. 254 00:14:04,400 --> 00:14:09,680 Så q lika munkar, vilket du kan se lite lättare här. 255 00:14:09,680 --> 00:14:12,131 >> Och detta innebär i grunden finns det en spec för API, vilket 256 00:14:12,131 --> 00:14:13,880 definierar vad alla dessa parametrar betyder. 257 00:14:13,880 --> 00:14:17,150 Och det innebär att vi kommer att Sök allt för munkar. 258 00:14:17,150 --> 00:14:24,910 >> Så det första objektet här har vi Du kan se titeln är Donuts, 259 00:14:24,910 --> 00:14:29,310 och det finns en undertext som kallas en American Passion, vilket är, antar jag, 260 00:14:29,310 --> 00:14:31,610 lämpligt. 261 00:14:31,610 --> 00:14:36,134 Det finns en hel del different-- 262 00:14:36,134 --> 00:14:38,050 När du kommer till den punkt av att få uppgifter, 263 00:14:38,050 --> 00:14:41,020 det finns en massa olika format som du kan få det till. 264 00:14:41,020 --> 00:14:44,050 Och det finns olika styrkor och svagheter för dem alla. 265 00:14:44,050 --> 00:14:49,000 Så här kan du se Här är denna form mycket rik. 266 00:14:49,000 --> 00:14:51,946 Och det är standardiserade. 267 00:14:51,946 --> 00:14:55,040 >> Så det finns en viss titel fält, en undertext fält. 268 00:14:55,040 --> 00:14:58,950 Det finns en alternativ titel, An American Passion. 269 00:14:58,950 --> 00:15:01,650 Det är namnet förknippas med det. 270 00:15:01,650 --> 00:15:03,120 Typ av resursen är text. 271 00:15:03,120 --> 00:15:06,070 Det finns en hel del information Här i detta format. 272 00:15:06,070 --> 00:15:09,480 >> Men det finns ett gäng av olika format. 273 00:15:09,480 --> 00:15:11,920 Så vad vi var bara tittar på är ett format 274 00:15:11,920 --> 00:15:17,700 kallade MODS, vilket står för Metadata Object Beskrivning Service, 275 00:15:17,700 --> 00:15:18,250 potentiellt. 276 00:15:18,250 --> 00:15:23,030 Jag är faktiskt inte riktigt säker om S. Men det är en ganska komplex format. 277 00:15:23,030 --> 00:15:24,240 Det är standardformatet. 278 00:15:24,240 --> 00:15:30,260 >> Men det är det som håller rikedomen i alla uppgifter 279 00:15:30,260 --> 00:15:33,820 att biblioteket har därför det är mycket nära vad 280 00:15:33,820 --> 00:15:35,110 biblioteket använder internt. 281 00:15:35,110 --> 00:15:39,030 Det är en standard som är används över hela landet, 282 00:15:39,030 --> 00:15:40,944 över hela världen i akademiska bibliotek. 283 00:15:40,944 --> 00:15:42,110 Och det är mycket kompatibla. 284 00:15:42,110 --> 00:15:44,852 Så om du har ett dokument som är i MODS-format, 285 00:15:44,852 --> 00:15:47,560 du kan ge det till någon annan vars system förstår MODS, 286 00:15:47,560 --> 00:15:48,518 och de kan importera den. 287 00:15:48,518 --> 00:15:50,840 Så det är en standard. 288 00:15:50,840 --> 00:15:54,250 Det är mycket väl definierade, mycket specifika. 289 00:15:54,250 --> 00:15:58,980 Och det är det som gör det driftskompatibla för om någon säger, 290 00:15:58,980 --> 00:16:04,930 detta är den alternativa titeln på en rekord, alla vet vad det betyder. 291 00:16:04,930 --> 00:16:07,740 På baksidan, det är mycket komplicerat. 292 00:16:07,740 --> 00:16:13,160 >> Så om du tar en titt vid denna post här, 293 00:16:13,160 --> 00:16:15,320 Om jag bara vill få titeln på detta dokument, 294 00:16:15,320 --> 00:16:21,150 i denna bok, vilket troligen Donuts, En amerikansk Passion, pars ut 295 00:16:21,150 --> 00:16:22,940 är lite inblandade. 296 00:16:22,940 --> 00:16:27,380 Medan det finns en annan format som kallas Dublin Core, 297 00:16:27,380 --> 00:16:29,730 vilket är en mycket, mycket enklare format. 298 00:16:29,730 --> 00:16:33,764 >> Och så du ser här, det finns ingen titel, undertitel, suppleant titel. 299 00:16:33,764 --> 00:16:35,930 Det finns bara titeln, Munkar, An American Passion, 300 00:16:35,930 --> 00:16:38,780 och en annan titel, amerikansk Passion. 301 00:16:38,780 --> 00:16:42,907 Så när du tittar på vilken form du vill få data ur, 302 00:16:42,907 --> 00:16:44,740 mycket beror på hur du kommer att använda den. 303 00:16:44,740 --> 00:16:46,573 Använder du för interoperabilitet eller vill du 304 00:16:46,573 --> 00:16:49,970 vill ha något enkelt att kan vara lättare att jobba med? 305 00:16:49,970 --> 00:16:56,002 >> På baksidan, en hel del av detaljer blir sorts kortas ned. 306 00:16:56,002 --> 00:16:58,460 Du kan förlora nyanserna i vad ett visst fält medel 307 00:16:58,460 --> 00:17:02,960 Om du arbetar med Dublin Core, som du inte skulle få med MODS. 308 00:17:02,960 --> 00:17:06,462 Så de är två av de format du kan få ut av API. 309 00:17:06,462 --> 00:17:08,920 Och i grunden håller vi det bakom kulisserna i MODS. 310 00:17:08,920 --> 00:17:14,179 Men vi kan ge dig den i MODS och Dublin Core och allt annat också. 311 00:17:14,179 --> 00:17:16,470 Den andra beräkningen när du letar i data 312 00:17:16,470 --> 00:17:21,210 är att du kan få det som antingen JSON, vilket står för JavaScript Object Notation, 313 00:17:21,210 --> 00:17:24,720 eller XML, vilket står för Extensible Markup Language. 314 00:17:24,720 --> 00:17:30,080 Och dessa datarepresentationer både har exakt samma data, exakt 315 00:17:30,080 --> 00:17:31,080 samma områden. 316 00:17:31,080 --> 00:17:33,644 Men de är bara syntaktiskt annorlunda. 317 00:17:33,644 --> 00:17:40,401 >> Så detta är en-- 318 00:17:40,401 --> 00:17:41,400 Nåväl, låt oss bara byta. 319 00:17:41,400 --> 00:17:47,490 Så detta är vår fråga för munkar i XML-format. 320 00:17:47,490 --> 00:17:53,470 Om jag byter just detta att vara JSON, Jag kan se det ser annorlunda ut. 321 00:17:53,470 --> 00:17:58,580 Så nu är samma innehåll, men en annan struktur. 322 00:17:58,580 --> 00:18:00,080 Det finns färre vinkelfästen. 323 00:18:00,080 --> 00:18:02,530 Det finns mindre utförlig. 324 00:18:02,530 --> 00:18:06,440 >> Och det här är ett format som, om du arbetar i webbmiljön, 325 00:18:06,440 --> 00:18:09,680 du är mest sannolikt att gå att vilja använda eftersom en 326 00:18:09,680 --> 00:18:12,630 av de trevliga saker om JSON är det är kompatibelt med JavaScript. 327 00:18:12,630 --> 00:18:17,680 Så om jag skriver web app, kan jag dra i JSON och bara arbeta med det direkt. 328 00:18:17,680 --> 00:18:20,187 Medan med XML, det är en lite mer komplicerat. 329 00:18:20,187 --> 00:18:21,520 Så återigen, dessa är båda användbara. 330 00:18:21,520 --> 00:18:26,387 De är bara olika användningsfall där folk kanske vill använda 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å tillbaka till API. 334 00:18:31,680 --> 00:18:32,900 Så vi kan söka for-- 335 00:18:32,900 --> 00:18:36,220 >> Jag ger ett exempel på söka efter munkar. 336 00:18:36,220 --> 00:18:39,330 Vi kan även söka bara i en särskilt område inom här. 337 00:18:39,330 --> 00:18:41,310 Så istället för att söka hela skivan, 338 00:18:41,310 --> 00:18:43,870 Jag kan bara söka titelfältet. 339 00:18:43,870 --> 00:18:48,810 Och så nu finns det 25 saker som har munkar i titeln, varav 340 00:18:48,810 --> 00:18:52,430 handlar om att återupprätta våtmarker i förvaltningen 341 00:18:52,430 --> 00:18:54,990 av hålet i doughnut programmet, vilket förmodligen 342 00:18:54,990 --> 00:18:58,970 inte nödvändigtvis vad vi söker för när vi söker efter munkar. 343 00:18:58,970 --> 00:19:02,790 344 00:19:02,790 --> 00:19:05,490 >> Du kan också, när du är behandlar en API-- 345 00:19:05,490 --> 00:19:08,827 >> Del av att ha ett API ger människor tillgång till stora datamängder. 346 00:19:08,827 --> 00:19:11,410 Och det finns ett par olika verktyg som du kan använda för att göra det. 347 00:19:11,410 --> 00:19:14,170 En är, mycket enkelt, du kan bläddra igenom uppgifterna. 348 00:19:14,170 --> 00:19:17,340 Så precis som om du gör en förfrågan via ett webbgränssnitt, 349 00:19:17,340 --> 00:19:19,470 Du kan titta på sidan ett, sidan två, sidan tre. 350 00:19:19,470 --> 00:19:22,040 Du kan göra samma sak sak via API. 351 00:19:22,040 --> 00:19:24,150 Du behöver bara vara explicit i hur du gör det. 352 00:19:24,150 --> 00:19:29,511 >> Så till exempel om jag söker vid min första fråga här, 353 00:19:29,511 --> 00:19:32,510 där jag gör en sökning på saker med munkar i titeln, kan jag säga, 354 00:19:32,510 --> 00:19:35,415 och gränsen är lika 20, vilket innebär ge mig de första 20 poster, inte 355 00:19:35,415 --> 00:19:38,540 den första 10, vilket är standard, eftersom jag vill titta på 20 åt gången. 356 00:19:38,540 --> 00:19:43,435 Eller jag kan säga, ställa in börja lika med 20 och begränsa 357 00:19:43,435 --> 00:19:47,150 motsvarar 20, vilket kommer att ge mig spelar 21 till 40. 358 00:19:47,150 --> 00:19:52,680 >> Så jag antar att saken att ta bort här är 359 00:19:52,680 --> 00:19:57,290 att vi med hjälp av frågesträngarna att ställa in parametrar på frågan. 360 00:19:57,290 --> 00:20:02,760 Och det kan du kontroll vad du får tillbaka. 361 00:20:02,760 --> 00:20:05,980 >> Ett annat verktyg som du kan använda, - 362 00:20:05,980 --> 00:20:09,250 >> Och det här är verkligen användbart i gäller att utforska data. 363 00:20:09,250 --> 00:20:10,840 >> --is något som kallas faceting. 364 00:20:10,840 --> 00:20:15,530 Så termen fasettering är inte nödvändigtvis vanligt. 365 00:20:15,530 --> 00:20:16,880 Men du har alla sett det förut. 366 00:20:16,880 --> 00:20:18,630 Om du tar en titt på Amazon, till exempel, 367 00:20:18,630 --> 00:20:20,870 och du gör en sökning efter munkar i böckerna, 368 00:20:20,870 --> 00:20:27,080 Här har de fått en rad böcker, och de är grupperade efter kategori, 369 00:20:27,080 --> 00:20:30,470 och du får de olika kategorierna, och hur många böcker i varje kategori 370 00:20:30,470 --> 00:20:31,330 dyker upp. 371 00:20:31,330 --> 00:20:33,420 >> Så detta är i grunden en fasett. 372 00:20:33,420 --> 00:20:37,570 Du tar alla sina böcker, de 1.800 böcker som matchar munkar på Amazon. 373 00:20:37,570 --> 00:20:39,820 12 av dem är i frukostkategori. 374 00:20:39,820 --> 00:20:43,100 21 i bakverk och bakning, och så vidare och så vidare. 375 00:20:43,100 --> 00:20:47,670 >> Så det här är verkligen en användbar verktyg för att utforska innehållet 376 00:20:47,670 --> 00:20:53,260 inom biblioteket samt eftersom när du tittar på en fasett, 377 00:20:53,260 --> 00:20:56,520 det ger dig en uppfattning om vilka ämnen existerar, liksom vilka typer av motiv 378 00:20:56,520 --> 00:20:58,510 är mest populära inom din fråga set. 379 00:20:58,510 --> 00:21:00,950 Och det hjälper dig att köra iväg och utforska. 380 00:21:00,950 --> 00:21:02,770 Så vi kan göra samma sak. 381 00:21:02,770 --> 00:21:05,940 >> Om vi ​​vill använda API och titta på fasetter, 382 00:21:05,940 --> 00:21:08,950 vi lägga till ytterligare parameter till vår vän frågesträngen. 383 00:21:08,950 --> 00:21:12,540 Så fasetter motsvarar en kommaseparerad Listan över vad vi vill Facet på. 384 00:21:12,540 --> 00:21:14,790 Så en av de aspekter kan vara föremål. 385 00:21:14,790 --> 00:21:16,565 En annan kan vara språket. 386 00:21:16,565 --> 00:21:19,665 Och så om vi kör den frågan, vi get-- 387 00:21:19,665 --> 00:21:23,372 388 00:21:23,372 --> 00:21:24,830 Det ser ganska mycket samma här. 389 00:21:24,830 --> 00:21:29,010 Men vi har lagt till slutet av listan en uppsättning fasetter. 390 00:21:29,010 --> 00:21:34,060 Så vi har en fasett kallas ämne. 391 00:21:34,060 --> 00:21:40,250 Så detta säger oss att om jag ser på mina 80 resultat från donut frågan, 392 00:21:40,250 --> 00:21:42,100 13 av dem har utsätta USA. 393 00:21:42,100 --> 00:21:43,684 Tre har ämnes munkar. 394 00:21:43,684 --> 00:21:45,600 Tre har ämnet av våtmark restaurering, 395 00:21:45,600 --> 00:21:47,720 vilket kan vara vår hål i munk. 396 00:21:47,720 --> 00:21:51,780 Två av dem, Simpsons, och så vidare och så vidare. 397 00:21:51,780 --> 00:21:59,211 >> Så detta kan vara användbart om du vill begränsa sökningen. 398 00:21:59,211 --> 00:22:00,210 Det kan hjälpa dig att göra det. 399 00:22:00,210 --> 00:22:03,580 Speciellt om du har mer än, säg, 80 resultat. 400 00:22:03,580 --> 00:22:05,980 >> Likaså vi frågade också för fasetter på språket. 401 00:22:05,980 --> 00:22:14,790 Så om vi tittar på våra resultat, ser vi 76 av dem är på engelska, fyra på franska, 402 00:22:14,790 --> 00:22:19,620 två i spanska, två, jag tror det är odefinierat eller okända, holländska och latin. 403 00:22:19,620 --> 00:22:22,830 Så jag tror det latinska munk resultat, återigen, 404 00:22:22,830 --> 00:22:24,922 har ingenting att göra med bakade varor. 405 00:22:24,922 --> 00:22:25,630 Men där du går. 406 00:22:25,630 --> 00:22:31,420 407 00:22:31,420 --> 00:22:38,630 >> Så detta är typ av visa dig hur du kan dra innehållet tillbaka 408 00:22:38,630 --> 00:22:41,270 från API bara genom webbläsare, vilket är bra. 409 00:22:41,270 --> 00:22:44,320 Men det är inte riktigt vad du skulle normalt använder i API för det. 410 00:22:44,320 --> 00:22:48,710 Så ett exempel på hur man kunde faktiskt göra detta är har jag 411 00:22:48,710 --> 00:22:54,720 skrivit ett super litet program, som, återigen, gör min donut ökning 412 00:22:54,720 --> 00:22:59,010 och väljer ett par fält och visar dem i en tabell. 413 00:22:59,010 --> 00:23:01,610 Så detta är väldigt mycket Samma innehåll som vi bara 414 00:23:01,610 --> 00:23:04,830 såg med några fält dras ut. 415 00:23:04,830 --> 00:23:12,090 Så listan över titlar, de placering av vad boken 416 00:23:12,090 --> 00:23:15,120 handlar om, språket, och så vidare och så vidare. 417 00:23:15,120 --> 00:23:20,480 >> Så hur det faktiskt hände, eftersom Jag antar att vi måste titta på lite kod, 418 00:23:20,480 --> 00:23:22,420 är-- 419 00:23:22,420 --> 00:23:28,060 >> Vad vi har här är en enkel HTML sida, som visar texten, 420 00:23:28,060 --> 00:23:32,900 Välkommen till biblioteket moln och visar sedan en tabell över resultaten. 421 00:23:32,900 --> 00:23:37,790 Och det finns uppenbarligen inga resultat i bordet när sidan blir laddad. 422 00:23:37,790 --> 00:23:41,380 Men vad vi gör är först och främst, vi 423 00:23:41,380 --> 00:23:46,290 fyller ett bibliotek som heter jQuery, vilket egentligen 424 00:23:46,290 --> 00:23:52,030 en JavaScript-bibliotek, vilket gör det mycket lätt att manipulera JavaScript 425 00:23:52,030 --> 00:23:58,780 native, HTML och skapa webbsidor, klientsidan logik och webbsidor. 426 00:23:58,780 --> 00:24:01,595 >> Så vad vi har här är jQuery har en metod som kallas Get, 427 00:24:01,595 --> 00:24:05,270 som i huvudsak kommer att gå till en URL, vilken, i det här fallet, 428 00:24:05,270 --> 00:24:09,070 är detta familjära ser webbadress. 429 00:24:09,070 --> 00:24:14,440 Och får då innehållet från som URL och sedan köra en funktion på den. 430 00:24:14,440 --> 00:24:19,240 Så vi sa gå till api.lib.harvard / edu. 431 00:24:19,240 --> 00:24:20,060 Sök efter munkar. 432 00:24:20,060 --> 00:24:21,300 Ge oss 20 poster. 433 00:24:21,300 --> 00:24:28,590 Och sedan köra den här funktionen, vilket Jag har valt, att föra den informationen. 434 00:24:28,590 --> 00:24:34,430 Och data är JSON som fick tillbaka från API. 435 00:24:34,430 --> 00:24:40,120 >> Och sedan är vi säger inom denna uppgifter finns det ett fält som heter objekt. 436 00:24:40,120 --> 00:24:48,117 Och om jag gå ta en titt tillbaka på en av dessa resultat som finns här, 437 00:24:48,117 --> 00:24:49,200 det finns något called-- 438 00:24:49,200 --> 00:24:50,220 >> Tja, det kallas objekt. 439 00:24:50,220 --> 00:24:53,520 Så det kan vara så. 440 00:24:53,520 --> 00:25:01,840 Och vad den gör är det går igenom varje objekt 441 00:25:01,840 --> 00:25:05,300 och uppmanar sedan en annan funktion för varje objekt. 442 00:25:05,300 --> 00:25:08,440 Och det fungerar i grunden tar värdet 443 00:25:08,440 --> 00:25:12,010 av objektet, vilket är huvudsak den enskilda posten 444 00:25:12,010 --> 00:25:18,220 och tillåter oss att dra ut titeln, täckning och språket. 445 00:25:18,220 --> 00:25:21,640 >> Så vi kallar en funktion på varje objekt som vi kommit tillbaka från API. 446 00:25:21,640 --> 00:25:25,397 Och om du bara ta en titt på denna pjäs här, 447 00:25:25,397 --> 00:25:27,230 vad vi gör är vi skapar en sträng, 448 00:25:27,230 --> 00:25:31,810 som i huvudsak är en del HTML-kod runt ett bord, med value.title, 449 00:25:31,810 --> 00:25:35,790 vilket är titeln på objekt, value.coverage, 450 00:25:35,790 --> 00:25:36,790 vilket är täckningen, - 451 00:25:36,790 --> 00:25:38,225 >> Och vi gör en kontroll här för att se vem som är odefinierad 452 00:25:38,225 --> 00:25:40,570 och gömma den om det står odefinierad, eftersom vi inte är riktigt intresserad 453 00:25:40,570 --> 00:25:41,600 i det. 454 00:25:41,600 --> 00:25:42,939 >> --and sedan språket. 455 00:25:42,939 --> 00:25:44,730 Och sedan vad vi är gör är att lägga till att 456 00:25:44,730 --> 00:25:48,510 till bordet som är identifierats av den här strängen här. 457 00:25:48,510 --> 00:25:50,790 Och hur jQuery fungerar är vad detta säger 458 00:25:50,790 --> 00:25:56,420 är leta efter tabellen med idén resultat och lägga till denna text till den. 459 00:25:56,420 --> 00:25:59,380 Och det här är bordet med idén resultat. 460 00:25:59,380 --> 00:26:04,998 Så vad du hamnar med är denna sida här. 461 00:26:04,998 --> 00:26:06,206 Och för att visa source-- 462 00:26:06,206 --> 00:26:11,310 463 00:26:11,310 --> 00:26:13,810 Tja, är källan faktiskt inte uppdateras när det hände. 464 00:26:13,810 --> 00:26:18,740 Så du kan se den faktiska Resultaten i tabellen här men. 465 00:26:18,740 --> 00:26:24,770 >> Så det är bara ett enkelt exempel på gör en mycket grundläggande fråga mot API 466 00:26:24,770 --> 00:26:29,020 och visning av information i vissa andra bilda, och inte gör något alltför fint. 467 00:26:29,020 --> 00:26:36,370 Nu, är som ett annat exempel skriven av David Weinberger ansökan 468 00:26:36,370 --> 00:26:39,120 som en demo av detta, vilket väsentligen visar 469 00:26:39,120 --> 00:26:44,620 hur du kan mosa upp resultaten du är komma från biblioteket molnet API 470 00:26:44,620 --> 00:26:46,250 med, säger, Google Books. 471 00:26:46,250 --> 00:26:52,225 >> Och det tänkande här är att jag kan köra en fråga mot Google Books, 472 00:26:52,225 --> 00:26:56,060 få en fritextsökning, få några resultat tillbaka, ta reda på vilka av dessa objekt 473 00:26:56,060 --> 00:27:01,180 faktiskt existerar i Hollis, bibliotekssystemet, 474 00:27:01,180 --> 00:27:03,200 och sedan ge mig länkar tillbaka till dessa poster. 475 00:27:03,200 --> 00:27:12,730 Så om jag söker efter, var det en mörk och stormig natt, jag 476 00:27:12,730 --> 00:27:16,210 få tillbaka ett gäng resultat från Google, och sedan ett resultat 477 00:27:16,210 --> 00:27:19,460 vilket är en rynka i Tid. 478 00:27:19,460 --> 00:27:29,330 Och dessa är länkar till böcker som finns inom Harvard bibliotekssystem. 479 00:27:29,330 --> 00:27:32,160 >> Så jag antar att poängen här är inte så mycket att det kanske eller kanske inte 480 00:27:32,160 --> 00:27:34,118 vara det sätt som du vill att söka i biblioteket, 481 00:27:34,118 --> 00:27:38,310 men det är en helt annan sätt som inte var tillgängliga för dig 482 00:27:38,310 --> 00:27:42,884 innan, som om du hade inget sätt att göra fulltext söker på böcker att även 483 00:27:42,884 --> 00:27:44,550 var en del av den Harvard bibliotekssystem. 484 00:27:44,550 --> 00:27:46,870 Så nu är detta ett sätt att du kan göra det. 485 00:27:46,870 --> 00:27:51,930 Och du kan visa dem i det format du vill. 486 00:27:51,930 --> 00:27:55,990 Så poängen här är, i princip, vi öppnar upp nya vägar för människor 487 00:27:55,990 --> 00:27:59,080 att arbeta med data. 488 00:27:59,080 --> 00:28:07,925 >> En annan bit av biblioteks molnet är att det hjälper avslöja några av dataanvändning 489 00:28:07,925 --> 00:28:08,800 att biblioteket har. 490 00:28:08,800 --> 00:28:12,630 Så om du går till biblioteket, och du letar efter böcker, 491 00:28:12,630 --> 00:28:15,770 Du behöver inte nödvändigtvis faktiskt har en idé om, 492 00:28:15,770 --> 00:28:19,080 för alla poster i en visst ämne, vad 493 00:28:19,080 --> 00:28:21,200 är människor i gemenskap, oavsett om det är 494 00:28:21,200 --> 00:28:24,890 definierad som Harvard eller land eller din klass, 495 00:28:24,890 --> 00:28:26,421 vad har de hittat mest användbara? 496 00:28:26,421 --> 00:28:28,920 Och biblioteket faktiskt har en massor av information om vad 497 00:28:28,920 --> 00:28:32,999 är mest användbar för om en hel del människor bläddrar i en bok, 498 00:28:32,999 --> 00:28:34,040 som berättar något. 499 00:28:34,040 --> 00:28:36,498 Det måste ha varit någon anledning de vill kolla upp det. 500 00:28:36,498 --> 00:28:38,270 Många satte den på reserven. 501 00:28:38,270 --> 00:28:42,520 >> Om det är på reservlistan för mycket klasser, berättar att något. 502 00:28:42,520 --> 00:28:45,960 Om lärarna kontrollerar det mycket och studenter är inte, 503 00:28:45,960 --> 00:28:47,200 som säger mig något. 504 00:28:47,200 --> 00:28:49,280 Vice versa, som också berättar något. 505 00:28:49,280 --> 00:28:54,680 Så det skulle vara riktigt intressant att sätta den information där ute och låt 506 00:28:54,680 --> 00:28:59,969 människor använder den för att hjälpa dem att hitta arbetar inom bibliotekssystemet. 507 00:28:59,969 --> 00:29:02,260 Baksidan av detta är det finns några allvarliga sekretess 508 00:29:02,260 --> 00:29:07,854 oro eftersom en av de grundsatserna i biblioteket 509 00:29:07,854 --> 00:29:10,770 är att vi inte kommer att berätta folk vad andra människor läser. 510 00:29:10,770 --> 00:29:17,360 Och även om du säger detta Boken checkat ut fyra gånger 511 00:29:17,360 --> 00:29:20,070 i en viss månad, som skulle kunna användas 512 00:29:20,070 --> 00:29:25,252 att länka tillbaka till en viss personen genom de-anonyma uppgifter 513 00:29:25,252 --> 00:29:26,710 och ta reda på vem checkade ut. 514 00:29:26,710 --> 00:29:30,792 Så det sätt som vi kan avoid-- 515 00:29:30,792 --> 00:29:33,750 Det sätt som vi kan försöka utvinna vissa signal från all den information 516 00:29:33,750 --> 00:29:36,740 utan att göra intrång någons integritetsfrågor 517 00:29:36,740 --> 00:29:42,150 är i huvudsak vi tittar på 10 år av användningsdata, - 518 00:29:42,150 --> 00:29:43,930 >> Så det är under en lång tidsperiod. 519 00:29:43,930 --> 00:29:50,639 >> --and säga, OK, låt oss se hur många gånger detta arbete användes, 520 00:29:50,639 --> 00:29:52,930 och av vem under denna period tid, och sedan i princip 521 00:29:52,930 --> 00:29:56,300 ge tillbaka ett antal, som vi kallar en stapel poäng, som i princip 522 00:29:56,300 --> 00:29:59,910 representerar hur mycket det har använts. 523 00:29:59,910 --> 00:30:01,084 Och det number-- 524 00:30:01,084 --> 00:30:03,250 En mängd olika beräkningar gå in i det numret. 525 00:30:03,250 --> 00:30:05,150 --but det är en mycket grov mått som ger dig 526 00:30:05,150 --> 00:30:11,300 en uppfattning om hur gemenskap kan värdera det arbetet. 527 00:30:11,300 --> 00:30:16,772 >> Och så en annan sorts ens mer konkretiseras ansökan 528 00:30:16,772 --> 00:30:18,480 som drar nytta av detta är något 529 00:30:18,480 --> 00:30:24,000 kallas Stacklife, som egentligen tillgängliga genom huvud Harvard 530 00:30:24,000 --> 00:30:24,880 Bibliotek portal. 531 00:30:24,880 --> 00:30:26,700 Så du går till library.harvard.edu. 532 00:30:26,700 --> 00:30:29,360 Du kommer att se ett antal olika sätt att söka i biblioteket. 533 00:30:29,360 --> 00:30:32,300 Och en av dem kallas Stacklife. 534 00:30:32,300 --> 00:30:38,980 >> Och detta är ett program som surfar på innehållet i biblioteket, 535 00:30:38,980 --> 00:30:43,490 men är helt byggd ovanpå dessa API: er. 536 00:30:43,490 --> 00:30:46,910 Så det finns ingen särskild grejer pågår bakom kulisserna. 537 00:30:46,910 --> 00:30:49,570 Det finns ingen tillgång till data som du inte har. 538 00:30:49,570 --> 00:30:54,090 Det använder API för att ge dig med en helt annan bläddring 539 00:30:54,090 --> 00:30:55,480 erfarenhet. 540 00:30:55,480 --> 00:30:58,570 >> Så om jag söker efter Alice i Underlandet i detta fall, 541 00:30:58,570 --> 00:31:02,600 Jag får ett resultat som ser ut som detta, vilket är ganska much-- 542 00:31:02,600 --> 00:31:05,430 543 00:31:05,430 --> 00:31:10,870 >> Det är mycket lik någon annan sökning du kanske göra, utom i det här fallet 544 00:31:10,870 --> 00:31:15,730 vi ranking objekten genom stackscore, vilket ger dig 545 00:31:15,730 --> 00:31:19,850 en uppfattning om hur populära dessa objekt var i samhället. 546 00:31:19,850 --> 00:31:25,610 Och så klart, Alice i Underlandet av Walt Disney är mycket populära. 547 00:31:25,610 --> 00:31:36,570 Men du kan också se topp fyra Här är de du kanske inte actually-- 548 00:31:36,570 --> 00:31:39,220 >> Saker som är mycket används, men du kanske inte omedelbart 549 00:31:39,220 --> 00:31:41,240 ansluta med Alice i Underlandet. 550 00:31:41,240 --> 00:31:44,650 Så vår gamla kompis Annotated Alice är här. 551 00:31:44,650 --> 00:31:46,350 Så jag kan ta en titt på det. 552 00:31:46,350 --> 00:31:52,010 Och nu vad jag letar på är i grunden en inställd of-- 553 00:31:52,010 --> 00:31:53,760 Jag kan ha den kommenterade Alice här. 554 00:31:53,760 --> 00:31:56,700 Jag har information om det. 555 00:31:56,700 --> 00:32:00,230 Och jag har också en stackscore av, i detta fall, 26. 556 00:32:00,230 --> 00:32:03,169 Och detta säger mig typ av grovt hur vi kom till denna stackscore, 557 00:32:03,169 --> 00:32:05,835 som vem checkade ut, liksom hur många gånger var det checkat ut, 558 00:32:05,835 --> 00:32:08,440 som lärare eller undergrads, hur många exemplar biblioteket har, 559 00:32:08,440 --> 00:32:11,300 och så vidare och så vidare. 560 00:32:11,300 --> 00:32:16,460 >> Och du kan också, intressant nog Här, bläddra stackarna så gott. 561 00:32:16,460 --> 00:32:19,550 Så datan här, det här visar att du sorterar 562 00:32:19,550 --> 00:32:23,547 av en virtuell representation av vad hyllan kanske 563 00:32:23,547 --> 00:32:25,880 se ut om du skulle ta alla bibliotekets innehav 564 00:32:25,880 --> 00:32:28,940 och sätta ihop dem på en oändlig hyllan. 565 00:32:28,940 --> 00:32:30,990 Och det fina är att vi can-- 566 00:32:30,990 --> 00:32:33,380 >> Först av allt, den metadata om dessa böcker 567 00:32:33,380 --> 00:32:35,627 ofta talar om när den publicerades. 568 00:32:35,627 --> 00:32:37,085 Den talar om hur många sidor det har. 569 00:32:37,085 --> 00:32:38,459 Det kan berätta dimensioner. 570 00:32:38,459 --> 00:32:42,930 Så du kan se att reflekteras här i termer av storlek av böckerna. 571 00:32:42,930 --> 00:32:46,740 >> Och då kan vi använda stapla poäng för att markera 572 00:32:46,740 --> 00:32:49,170 de böcker som har högre stack poäng. 573 00:32:49,170 --> 00:32:54,930 Så om det är mörkare, betyder det att, förmodligen är det används oftare. 574 00:32:54,930 --> 00:32:57,040 Så i det här fallet, är jag kommer att gissa att detta 575 00:32:57,040 --> 00:33:03,226 är den version av Alice i Underlandet som mycket vanligt och de flesta 576 00:33:03,226 --> 00:33:05,100 nås, biblioteket har flest kopior av. 577 00:33:05,100 --> 00:33:06,975 Så om du letar efter för Alice i Underlandet, 578 00:33:06,975 --> 00:33:10,220 Detta kan vara ett bra ställe att börja. 579 00:33:10,220 --> 00:33:13,500 >> Och så här kan du också länka ut till, säger, Amazon för att köpa boken, 580 00:33:13,500 --> 00:33:15,182 och så vidare och så vidare. 581 00:33:15,182 --> 00:33:17,140 Poängen här, återigen, är inte så mycket att detta 582 00:33:17,140 --> 00:33:25,030 är det bästa sättet att surfa på biblioteket eller rätt verktyg för varje tillfälle. 583 00:33:25,030 --> 00:33:28,400 Men det är ett annat sätt att göra det. 584 00:33:28,400 --> 00:33:31,359 Och genom att göra uppgifter tillgängliga via ett API, som 585 00:33:31,359 --> 00:33:34,650 är tillverkad av mycket enkla byggstenar, vilket gör att du kan söka på innehåll, 586 00:33:34,650 --> 00:33:39,420 du kan bygga något såhär som kan 587 00:33:39,420 --> 00:33:41,520 vara utomordentligt värdefullt för vissa människor. 588 00:33:41,520 --> 00:33:46,640 589 00:33:46,640 --> 00:33:51,860 >> Så det blir liksom så mycket som jag vill att säga egentligen om vad API är 590 00:33:51,860 --> 00:33:56,070 och vad den exponerar, det finns en hel massa saker bakom kulisserna, som 591 00:33:56,070 --> 00:33:59,480 Jag kommer bara att beröra kort bara för att det slags kommer vid detta 592 00:33:59,480 --> 00:34:03,720 från en helt annan vinkel i termer av hur fungerar ungefär så här 593 00:34:03,720 --> 00:34:04,580 få sätta på plats? 594 00:34:04,580 --> 00:34:10,820 >> Så ett API är en standard gränssnitt till allt detta innehåll. 595 00:34:10,820 --> 00:34:13,820 Men för att få det där, det första vi fick göra 596 00:34:13,820 --> 00:34:17,260 ades dra ihop informationen av böcker och bilder 597 00:34:17,260 --> 00:34:21,580 och sökhjälpmedel, insamling dokument från olika Harvard system. 598 00:34:21,580 --> 00:34:23,929 Aleph, VIA och OASIS är namnen på de systemen. 599 00:34:23,929 --> 00:34:28,820 Och de i huvudsak går in i en pipeline, en bearbetnings pipeline. 600 00:34:28,820 --> 00:34:33,230 >> Så först av allt, vi får export filer från alla dessa system. 601 00:34:33,230 --> 00:34:35,130 Vi delade upp dem i enskilda objekt. 602 00:34:35,130 --> 00:34:39,360 Så vi har en fil, vilket är en gigabyte, som har en miljon skivor i den. 603 00:34:39,360 --> 00:34:42,290 Så vi dela upp den i enskilda objekt. 604 00:34:42,290 --> 00:34:45,374 Då, för varje objekt, vi omvandla den i MODS, eftersom en del av dessa 605 00:34:45,374 --> 00:34:47,040 är native MODS, några av dem är inte. 606 00:34:47,040 --> 00:34:49,204 Så vi får dem alla att vara i samma format. 607 00:34:49,204 --> 00:34:51,120 Sedan finns det olika anrikningssteg, där 608 00:34:51,120 --> 00:34:55,969 Vi lägger till mer information till den registrerade än vad som var tillgängliga i biblioteket. 609 00:34:55,969 --> 00:34:59,750 Så vi behöver lägga, först av allt Vi har vad biblioteken hålla den. 610 00:34:59,750 --> 00:35:02,250 Vi går igenom ett steg med beräkning av stackscore. 611 00:35:02,250 --> 00:35:07,112 Vi går igenom ytterligare ett steg på lägga till fler metadata i termer 612 00:35:07,112 --> 00:35:10,730 av vad samlingar människor kanske har lagt this-- 613 00:35:10,730 --> 00:35:12,532 >> Människor skapar samlingar av föremål. 614 00:35:12,532 --> 00:35:13,990 Vilka samlingar tar det tillhör? 615 00:35:13,990 --> 00:35:17,220 Hur har folk taggade detta innehåll i det förflutna? 616 00:35:17,220 --> 00:35:20,750 Då är du filtrera bort, och du begränsa posterna eftersom, som jag nämnde, 617 00:35:20,750 --> 00:35:24,120 det finns vissa poster som, på grund av upphovsrättsliga skäl kan vi inte visa. 618 00:35:24,120 --> 00:35:26,700 Och sedan ladda vi dem in i något som kallas 619 00:35:26,700 --> 00:35:31,680 Solr, vilket inte är felstavat, men är namnet på en programvara 620 00:35:31,680 --> 00:35:35,710 som gör sökandet indexering, vilket driver alla sökandet bakom API. 621 00:35:35,710 --> 00:35:40,110 Och då blir det tillgängligt för API, och folk kan använda den. 622 00:35:40,110 --> 00:35:44,640 >> Så det här är som en ganska okomplicerad process. 623 00:35:44,640 --> 00:35:47,230 En av de intressanta saker om det är 624 00:35:47,230 --> 00:35:50,990 att vi har att göra med 13 miljoner skivor 625 00:35:50,990 --> 00:35:53,820 och vi kommer att ha att göra eller mer. 626 00:35:53,820 --> 00:36:01,260 Och vi vill kunna hantera dessa i en relativt snabb mode. 627 00:36:01,260 --> 00:36:03,630 Det tar lång tid att bearbeta 13 miljoner skivor. 628 00:36:03,630 --> 00:36:09,529 >> Så hur denna rörledning är ställa in är att du can-- 629 00:36:09,529 --> 00:36:12,070 Jag antar att fördelen med pipeline, problemet att vi är 630 00:36:12,070 --> 00:36:15,580 försöker lösa här, är att alla transformationer, alla 631 00:36:15,580 --> 00:36:18,729 dessa steg i denna pipeline är separerbara. 632 00:36:18,729 --> 00:36:19,645 Det finns ingen beroende. 633 00:36:19,645 --> 00:36:22,146 Om du bearbetar ett rekord av en bok, 634 00:36:22,146 --> 00:36:24,270 det finns ingen beroende att mellan en annan bok. 635 00:36:24,270 --> 00:36:27,760 >> Så vad vi kan göra är i grunden, vid varje steg på gång, 636 00:36:27,760 --> 00:36:30,470 vi sätta den i en kö i molnet. 637 00:36:30,470 --> 00:36:32,250 Jag råkade vara på Amazon Web Services. 638 00:36:32,250 --> 00:36:35,140 Så det finns en lista över, säga, 10000 objekt som 639 00:36:35,140 --> 00:36:38,100 måste vara normaliseras och konverteras till MODS-format. 640 00:36:38,100 --> 00:36:41,620 Och vi snurra upp så många servrar som vi vill, kanske 10 servrar. 641 00:36:41,620 --> 00:36:44,860 Och var och en av dessa servrar bara sitter där, tittar i den kön, 642 00:36:44,860 --> 00:36:46,730 ser att det finns en som behöver bearbetas, drar den bort kön, 643 00:36:46,730 --> 00:36:48,740 bearbetar den och pinnar den på nästa kö. 644 00:36:48,740 --> 00:36:54,200 >> Och så vad som gör att vi göra är tillämplig, i huvudsak, 645 00:36:54,200 --> 00:36:58,110 så mycket hårdvara som vi vill här problem för en mycket kort tidsperiod 646 00:36:58,110 --> 00:37:02,970 att så snabbt som bearbeta data möjligt, vilket är något som bara, 647 00:37:02,970 --> 00:37:08,220 nu i en värld av cloud computing Vi kan tillhandahållande servrar huvudsak 648 00:37:08,220 --> 00:37:09,890 momentant, är det användbart. 649 00:37:09,890 --> 00:37:12,260 Så vi behöver inte ha en jätte server sitter runt 650 00:37:12,260 --> 00:37:16,700 hela tiden att göra behandlingen det kan hända bara en gång i veckan. 651 00:37:16,700 --> 00:37:21,440 >> Så det är oftast det. 652 00:37:21,440 --> 00:37:27,590 Det finns dokumentation tillgänglig för biblioteks Cloud Post API 653 00:37:27,590 --> 00:37:31,960 vid denna URL, vilket kommer att finnas tillgänglig senare. 654 00:37:31,960 --> 00:37:36,730 Och gå ta en titt på den för att se om det finns något, 655 00:37:36,730 --> 00:37:37,579 du har några idéer. 656 00:37:37,579 --> 00:37:38,120 Spela med det. 657 00:37:38,120 --> 00:37:38,830 Lura runt. 658 00:37:38,830 --> 00:37:42,800 Och förhoppningsvis kan du komma upp med något stort. 659 00:37:42,800 --> 00:37:44,740 Tack. 660 00:37:44,740 --> 00:37:45,899