1 00:00:00,000 --> 00:00:11,370 2 00:00:11,370 --> 00:00:12,370 JEFFREY LICHT: Hi there. 3 00:00:12,370 --> 00:00:13,550 Estou Jeffrey Licht. 4 00:00:13,550 --> 00:00:17,890 E eu estou aqui para falar com você sobre o Harvard Biblioteca e construção de amanhã 5 00:00:17,890 --> 00:00:20,870 biblioteca hoje, eu acho. 6 00:00:20,870 --> 00:00:23,040 Assim, o fundo aqui, o terreno de jogo para esta sessão 7 00:00:23,040 --> 00:00:26,930 é que não há essencialmente um monte de dados bibliográficos 8 00:00:26,930 --> 00:00:28,400 disponível em bibliotecas de Harvard. 9 00:00:28,400 --> 00:00:33,434 E há uma oportunidade, através de algumas das ferramentas 10 00:00:33,434 --> 00:00:36,350 e um projeto que está sendo desenvolvido, para obter o acesso à informação 11 00:00:36,350 --> 00:00:42,430 e levá-lo a lugares que o Biblioteca de Harvard não está fazendo agora, 12 00:00:42,430 --> 00:00:45,460 fazer coisas novas com ele, experimento e brincar com ele. 13 00:00:45,460 --> 00:00:52,413 >> Assim, o ponto de entrada para esta é uma API chamado de Harvard Biblioteca Nuvem, que 14 00:00:52,413 --> 00:00:57,650 é um servidor de metadados aberto, que eu vou falar agora. 15 00:00:57,650 --> 00:01:02,595 Assim, o fundo é de que existe um monte de coisas na biblioteca de Harvard. 16 00:01:02,595 --> 00:01:07,150 Temos mais de 13 milhões de bibliográfica registros, milhões de imagens, 17 00:01:07,150 --> 00:01:11,090 e milhares de instrumentos de descrição, que são essencialmente documentos que descrevem 18 00:01:11,090 --> 00:01:15,500 coleções, dizendo que há neles, caixas de papéis 19 00:01:15,500 --> 00:01:21,080 e assim por diante, que representam mais de um milhão de documentos individuais. 20 00:01:21,080 --> 00:01:24,290 E há também um monte de informações que a biblioteca tem 21 00:01:24,290 --> 00:01:28,180 sobre a forma como o conteúdo é usado que poderia ser de interesse para as pessoas 22 00:01:28,180 --> 00:01:32,400 que pode querer trabalhar com ele. 23 00:01:32,400 --> 00:01:36,150 >> Assim, todas as informações a biblioteca tem metadados. 24 00:01:36,150 --> 00:01:39,500 Então metadados são dados sobre dados. 25 00:01:39,500 --> 00:01:42,070 Assim, quando falamos de a informação que é 26 00:01:42,070 --> 00:01:44,890 disponível na biblioteca nuvem que está disponível, 27 00:01:44,890 --> 00:01:47,760 não é necessariamente os documentos reais 28 00:01:47,760 --> 00:01:53,060 eles próprios, não necessariamente a total texto de livros ou as imagens completas, 29 00:01:53,060 --> 00:01:54,890 no entanto, que, na verdade, pode ser o caso. 30 00:01:54,890 --> 00:01:57,550 Mas é realmente informações sobre os dados. 31 00:01:57,550 --> 00:02:00,909 >> Então você pode pensar de catalogação informações, números de telefone, assuntos, 32 00:02:00,909 --> 00:02:02,700 quantas cópias do livro há, o que 33 00:02:02,700 --> 00:02:06,380 são as edições, quais são os formatos, os autores, e assim por diante. 34 00:02:06,380 --> 00:02:12,250 Portanto, há um monte de informações sobre as informações contidas na coleção que, 35 00:02:12,250 --> 00:02:14,400 em si mesmo, é uma espécie de inerentemente útil. 36 00:02:14,400 --> 00:02:19,230 E, embora se você é fazer pesquisa em profundidade, 37 00:02:19,230 --> 00:02:25,160 você obviamente quer chegar ao real contentar-se e olhar para os dados, 38 00:02:25,160 --> 00:02:30,140 os metadados é útil em termos de tanto na análise o corpo como um todo, 39 00:02:30,140 --> 00:02:33,870 como o que as coisas são na coleção. 40 00:02:33,870 --> 00:02:35,520 Como eles se relacionam? 41 00:02:35,520 --> 00:02:39,482 Ele ajuda você realmente encontrar outras coisas, o que é realmente a principal finalidade do mesmo. 42 00:02:39,482 --> 00:02:41,190 O ponto de partida da metadados e do catálogo 43 00:02:41,190 --> 00:02:43,230 é ajudar você a encontrar todos a informação que é 44 00:02:43,230 --> 00:02:46,590 disponível dentro das coleções. 45 00:02:46,590 --> 00:02:53,690 >> Portanto, este é um exemplo de metadados para um livro na Biblioteca de Harvard. 46 00:02:53,690 --> 00:02:56,370 Então, ele está lá. 47 00:02:56,370 --> 00:02:59,850 E você pode ver que é na verdade, moderadamente complexa. 48 00:02:59,850 --> 00:03:04,610 E parte do valor dos metadados dentro do sistema de biblioteca de Harvard 49 00:03:04,610 --> 00:03:09,320 é que ele foi sorte de construído por catalogadores 50 00:03:09,320 --> 00:03:12,720 e montada por pessoas que solicitam muita perícia e habilidade 51 00:03:12,720 --> 00:03:20,030 e pensado para que ao longo do tempo, que tem um monte de valor. 52 00:03:20,030 --> 00:03:25,450 >> Então, se você der uma olhada neste registro para The Annotated Alice, você pode descobrir 53 00:03:25,450 --> 00:03:32,590 você tem o título, que o escreveu, o autor, e todos os diferentes temas 54 00:03:32,590 --> 00:03:35,380 qual as pessoas têm catalogado-lo em. 55 00:03:35,380 --> 00:03:40,110 E você pode ver que há também, em Além de um monte de boas informações 56 00:03:40,110 --> 00:03:42,852 aqui, há alguma duplicação. 57 00:03:42,852 --> 00:03:45,560 Há um monte de complexidade que é refletida através dos metadados 58 00:03:45,560 --> 00:03:46,300 que você tem. 59 00:03:46,300 --> 00:03:50,320 >> Assim, um título deste livro é As aventuras de Alice no País das Maravilhas. 60 00:03:50,320 --> 00:03:53,880 Portanto, esta é uma Anotada versão desse livro. 61 00:03:53,880 --> 00:03:56,380 Mas também é chamado de The Annotated Alice, de Alice Adventures 62 00:03:56,380 --> 00:03:58,570 no país das maravilhas, porque é algo que 63 00:03:58,570 --> 00:04:00,430 Martin Gardner escreveu e anotada do livro. 64 00:04:00,430 --> 00:04:03,369 E há um grande lote de informações sobre enigmas de lógica e coisas 65 00:04:03,369 --> 00:04:05,410 dentro de Alice que você provavelmente não sabia. 66 00:04:05,410 --> 00:04:07,000 Então você deve ir lê-lo. 67 00:04:07,000 --> 00:04:11,940 >> Mas você pode ver que não há um monte de detalhes aqui, 68 00:04:11,940 --> 00:04:15,340 incluindo identificadores, quando foi criado, de onde veio, 69 00:04:15,340 --> 00:04:17,420 em termos de Harvard sistema, e assim por diante. 70 00:04:17,420 --> 00:04:20,350 Portanto, esta é uma amostra de o tipo de metadados 71 00:04:20,350 --> 00:04:24,340 que você pode ver em um livro em da coleção da Biblioteca Harvard. 72 00:04:24,340 --> 00:04:26,680 >> Isso é algo completamente diferente. 73 00:04:26,680 --> 00:04:32,610 Portanto, há um sistema chamado VIA Harvard, que basicamente 74 00:04:32,610 --> 00:04:39,990 está catalogando imagens e objetos de arte e as coisas visuais em todo Harvard, 75 00:04:39,990 --> 00:04:44,010 e adicionando alguns metadados para eles, classificando-os, 76 00:04:44,010 --> 00:04:49,200 e, em alguns casos, proporcionando pequenas imagens em miniatura 77 00:04:49,200 --> 00:04:51,250 que você pode tomar um veja se assim o desejar. 78 00:04:51,250 --> 00:04:54,240 >> Portanto, este é um exemplo do metadados que você tem para uma placa 79 00:04:54,240 --> 00:04:57,840 de, presumivelmente, Alice no País das Maravilhas. 80 00:04:57,840 --> 00:05:00,499 E você pode ver que não há menos metadados aqui. 81 00:05:00,499 --> 00:05:02,040 É apenas um tipo diferente de objeto. 82 00:05:02,040 --> 00:05:03,425 E por isso há menos informação. 83 00:05:03,425 --> 00:05:07,790 >> Está na sua maioria têm o facto de que, uma chamada número, essencialmente, que o criou, - 84 00:05:07,790 --> 00:05:10,410 >> Não sabemos quando ele foi criado. 85 00:05:10,410 --> 00:05:13,320 >> --e um título. 86 00:05:13,320 --> 00:05:14,300 >> Outro exemplo. 87 00:05:14,300 --> 00:05:16,380 Este é um instrumento de pesquisa. 88 00:05:16,380 --> 00:05:19,030 Portanto, há uma coleção de Lewis Papéis de Carroll em Harvard. 89 00:05:19,030 --> 00:05:23,601 Então, isso descreve o que é nessa coleção. 90 00:05:23,601 --> 00:05:26,100 Então, alguém passou por e olhou através de todas as caixas 91 00:05:26,100 --> 00:05:32,220 e catalogado-lo, dado algum fundo, escreveu um resumo do que está aqui. 92 00:05:32,220 --> 00:05:35,290 E se você estava a olhar adicionalmente pelo presente, este 93 00:05:35,290 --> 00:05:39,620 prolonga-se por páginas e páginas e páginas, mas dir-lhe- 94 00:05:39,620 --> 00:05:41,860 que letras e quais datas a partir do que caixas 95 00:05:41,860 --> 00:05:44,289 existido ao longo da coleção. 96 00:05:44,289 --> 00:05:46,330 Mas isso é algo que, se você estiver em Harvard, 97 00:05:46,330 --> 00:05:50,720 você pode ir e realmente olhar fisicamente -se e, presumivelmente, dê uma olhada. 98 00:05:50,720 --> 00:05:53,440 >> Então, tudo isso é ótimo. 99 00:05:53,440 --> 00:05:54,450 Deste útil de metadados. 100 00:05:54,450 --> 00:05:56,327 É no sistema Biblioteca Harvard. 101 00:05:56,327 --> 00:05:58,910 Existem ferramentas on-line onde você pode ir e dar uma olhada no que faz, 102 00:05:58,910 --> 00:05:59,993 e vê-lo, e busca-lo. 103 00:05:59,993 --> 00:06:02,810 E você pode cortá-lo e dice que, de muitas maneiras diferentes. 104 00:06:02,810 --> 00:06:06,920 >> Mas é realmente só está disponível se você é um ser humano de se sentar 105 00:06:06,920 --> 00:06:12,600 no seu navegador ou algo ou seu telefone e navegar através dele. 106 00:06:12,600 --> 00:06:16,730 Não é realmente disponível em qualquer tipo de forma utilizável 107 00:06:16,730 --> 00:06:19,520 ou para outros sistemas outros computadores de usar, 108 00:06:19,520 --> 00:06:21,500 não com sistemas dentro Biblioteca de Harvard, 109 00:06:21,500 --> 00:06:24,890 mas os sistemas do mundo exterior, apenas a outras pessoas em geral. 110 00:06:24,890 --> 00:06:30,210 Então a questão é, como podemos torná-lo disponível para os computadores 111 00:06:30,210 --> 00:06:33,560 para que possamos fazer mais interessante coisas com ele do que apenas 112 00:06:33,560 --> 00:06:36,550 browsing-lo nós mesmos? 113 00:06:36,550 --> 00:06:39,766 >> Então, por que você iria querer fazer isso? 114 00:06:39,766 --> 00:06:41,140 Há uma série de possibilidades. 115 00:06:41,140 --> 00:06:43,980 Uma delas é que você poderia construir um completamente forma diferente de navegação 116 00:06:43,980 --> 00:06:46,962 o conteúdo que está disponível através das bibliotecas de Harvard. 117 00:06:46,962 --> 00:06:48,670 Eu vou te mostrar uma mais tarde chamado Stacklife, 118 00:06:48,670 --> 00:06:52,440 que tem uma forma completamente diferente assumir procurando conteúdo. 119 00:06:52,440 --> 00:06:54,560 >> Você poderia construir um mecanismo de recomendação. 120 00:06:54,560 --> 00:06:57,955 Assim Biblioteca de Harvard não é no negócio de dizer, você gosta deste livro. 121 00:06:57,955 --> 00:07:01,080 Então vá dar uma olhada nestes 17 outros livros que você pode estar interessado em 122 00:07:01,080 --> 00:07:03,200 ou esses 18 outras imagens. 123 00:07:03,200 --> 00:07:06,040 Mas isso certamente poderia ser um recurso valioso. 124 00:07:06,040 --> 00:07:09,272 E dada a metadados, pode ser possível colocar isso em conjunto. 125 00:07:09,272 --> 00:07:11,980 Você pode ter diferentes necessidades em termos de pesquisa do conteúdo, 126 00:07:11,980 --> 00:07:16,200 como talvez, apesar das ferramentas que que estão disponíveis a biblioteca torna 127 00:07:16,200 --> 00:07:18,450 disponível, você pode querer de pesquisa de uma maneira diferente 128 00:07:18,450 --> 00:07:21,847 ou otimizar para um caso de uso particular, que talvez seja muito especializado. 129 00:07:21,847 --> 00:07:23,930 Talvez existam apenas alguns pessoas no mundo que 130 00:07:23,930 --> 00:07:25,846 deseja pesquisar o conteúdo desta forma, mas 131 00:07:25,846 --> 00:07:28,985 Seria ótimo se nós poderia deixá-los fazer isso. 132 00:07:28,985 --> 00:07:30,860 Há um monte de analytics em apenas como as pessoas 133 00:07:30,860 --> 00:07:33,860 usar o conteúdo que seria muito interessante conhecer, descobrir 134 00:07:33,860 --> 00:07:37,280 o que os livros estão sendo usados, o que não é, e assim por diante. 135 00:07:37,280 --> 00:07:41,670 E então há um monte de oportunidade de integrar 136 00:07:41,670 --> 00:07:45,210 com outras informações que está lá fora na web. 137 00:07:45,210 --> 00:07:46,880 Então, nós have-- 138 00:07:46,880 --> 00:07:50,260 >> Por exemplo, tem NPR um segmento resenha do livro, 139 00:07:50,260 --> 00:07:53,090 onde eles entrevistam autores sobre livros. 140 00:07:53,090 --> 00:07:56,837 E por isso seria ótimo se você fosse procurar um livro na Harvard 141 00:07:56,837 --> 00:07:59,670 Biblioteca, e você diz, OK, não há foi uma entrevista com o autor. 142 00:07:59,670 --> 00:08:00,878 Vamos dar uma olhada nisso. 143 00:08:00,878 --> 00:08:05,461 Ou há uma página da Wikipedia, como uma autoritária, referência acadêmica 144 00:08:05,461 --> 00:08:07,710 sobre este livro que você pode querer dar uma olhada. 145 00:08:07,710 --> 00:08:12,600 >> Existem destes tipos de fontes espalhadas por toda a web. 146 00:08:12,600 --> 00:08:16,555 E trazê-los juntos Pode ser um ótimo uso 147 00:08:16,555 --> 00:08:18,930 para alguém olhando para o conteúdo, à procura de algo. 148 00:08:18,930 --> 00:08:20,180 Mas também não é o tipo de coisa que você 149 00:08:20,180 --> 00:08:23,205 quer a biblioteca a ser responsável para descer e caçar 150 00:08:23,205 --> 00:08:25,455 todas estas fontes diferentes e colocá-los juntos 151 00:08:25,455 --> 00:08:28,920 porque eles estão mudando continuamente. 152 00:08:28,920 --> 00:08:33,570 E o que eles acham que é importante maio não ser o que você acha que é importante. 153 00:08:33,570 --> 00:08:36,929 >> E mais ainda, basicamente, há uma monte de coisas que nós não tenha pensado ainda. 154 00:08:36,929 --> 00:08:42,222 Então, se podemos abrir este up, mais pessoas além de uma meia dúzia ou assim, 155 00:08:42,222 --> 00:08:45,174 que estão olhando para isso em um base regular pode pensar em idéias 156 00:08:45,174 --> 00:08:47,340 e massagear os dados, e fazer o que quiser com ele. 157 00:08:47,340 --> 00:08:49,920 158 00:08:49,920 --> 00:08:54,045 >> Então, nós queremos fazer este dados disponíveis para o mundo. 159 00:08:54,045 --> 00:08:55,670 Bem, há algumas complicações. 160 00:08:55,670 --> 00:08:58,540 Uma delas é que esses metadados é em sistemas diferentes. 161 00:08:58,540 --> 00:09:01,110 É em diferentes formatos. 162 00:09:01,110 --> 00:09:04,719 Portanto, há alguma normalização que precisa acontecer, 163 00:09:04,719 --> 00:09:08,010 que a normalização é o processo de trazendo as coisas de diferentes formatos 164 00:09:08,010 --> 00:09:12,940 e mapeá-los para um único formato para que os campos irá igualar-se. 165 00:09:12,940 --> 00:09:15,160 >> Existem algumas restrições de direitos autorais. 166 00:09:15,160 --> 00:09:21,010 Curiosamente, a entrada do catálogo sobre um livro é responsável por copyright. 167 00:09:21,010 --> 00:09:24,060 Assim, mesmo que seja apenas informações obtidas a partir do livro, 168 00:09:24,060 --> 00:09:25,330 é protegido por direitos autorais. 169 00:09:25,330 --> 00:09:28,400 E dependendo de quem, na verdade, criado que os metadados, 170 00:09:28,400 --> 00:09:32,175 pode haver restrições sobre quem pode distribuí-lo, a-- semelhante 171 00:09:32,175 --> 00:09:33,402 >> Eu não sei. 172 00:09:33,402 --> 00:09:36,110 Ele pode ou não ser similar à a situação das letras de música, 173 00:09:36,110 --> 00:09:36,610 por exemplo. 174 00:09:36,610 --> 00:09:38,560 Então, todos nós sabemos como que garimpa para fora. 175 00:09:38,560 --> 00:09:40,450 Então, você precisa se locomover essa questão. 176 00:09:40,450 --> 00:09:44,910 >> E, em seguida, uma outra parte é que há uma grande quantidade de dados. 177 00:09:44,910 --> 00:09:52,420 Então, se eu sou alguém que quer trabalhar com os dados ou tem uma idéia legal, 178 00:09:52,420 --> 00:09:55,350 lidar com 14 milhões registros no meu laptop 179 00:09:55,350 --> 00:09:57,487 poderia ser problemático e difícil de gerir. 180 00:09:57,487 --> 00:09:59,320 Por isso, queremos reduzir as barreiras para as pessoas 181 00:09:59,320 --> 00:10:02,130 para ser capaz de trabalhar com os dados. 182 00:10:02,130 --> 00:10:07,880 >> Portanto, a abordagem que esperamos que os endereços todas estas preocupações é duas partes. 183 00:10:07,880 --> 00:10:11,770 Um deles é a construção de uma plataforma que leva dados de todas estas fontes diferentes 184 00:10:11,770 --> 00:10:14,350 e agrava-lo, normaliza, enriquece-lo, e marcas 185 00:10:14,350 --> 00:10:16,650 -lo disponível em um único local. 186 00:10:16,650 --> 00:10:20,950 E torna-se disponível através uma API pública que as pessoas podem ligar. 187 00:10:20,950 --> 00:10:24,430 >> Assim, uma API é uma aplicação Programming Interface. 188 00:10:24,430 --> 00:10:28,930 E, basicamente, refere-se a um ponto de extremidade que um sistema ou tecnologia 189 00:10:28,930 --> 00:10:31,720 pode ligar e obter dados de volta um formato estruturado de uma forma 190 00:10:31,720 --> 00:10:32,900 que ele pode ser usado. 191 00:10:32,900 --> 00:10:36,060 Portanto, não é dependente em ir para um site 192 00:10:36,060 --> 00:10:37,970 e raspagem de dados off dele, por exemplo. 193 00:10:37,970 --> 00:10:40,690 194 00:10:40,690 --> 00:10:45,010 >> Portanto, esta é a página inicial do a API item Biblioteca Nuvem, 195 00:10:45,010 --> 00:10:47,220 que é essencialmente a sua versão dois. 196 00:10:47,220 --> 00:10:50,130 Portanto, é a segunda iteração do tentando fazer com que todos esses dados 197 00:10:50,130 --> 00:10:53,280 disponível para o mundo. 198 00:10:53,280 --> 00:10:59,560 Portanto, é http://api.lib.harvard.edu/v2/items. 199 00:10:59,560 --> 00:11:03,830 E só para decompô-lo um pouco, o que isso significa 200 00:11:03,830 --> 00:11:06,115 é que esta versão é de dois a API. 201 00:11:06,115 --> 00:11:08,490 Há uma versão de um, o que Eu não vou falar. 202 00:11:08,490 --> 00:11:09,750 Mas há uma versão um. 203 00:11:09,750 --> 00:11:14,740 >> E se você está chamando este API, você está recebendo itens. 204 00:11:14,740 --> 00:11:20,640 E parte da ideia de um API é uma API é um contrato. 205 00:11:20,640 --> 00:11:23,440 É algo que é não vai mudar. 206 00:11:23,440 --> 00:11:24,850 Assim, por exemplo, - 207 00:11:24,850 --> 00:11:27,410 >> E a razão é que, se eu construir algum tipo de sistema que 208 00:11:27,410 --> 00:11:33,210 vai usar uma API biblioteca nuvem para exibir livros ou ajudar as pessoas a encontrar 209 00:11:33,210 --> 00:11:36,190 informações de forma única, o que nós não queremos que aconteça 210 00:11:36,190 --> 00:11:38,940 é para nós a ir mudar a forma como API que funciona, e de repente 211 00:11:38,940 --> 00:11:41,340 tudo fica do lado do usuário final. 212 00:11:41,340 --> 00:11:46,710 Assim, parte se você está fazendo API disponível para o mundo, é 213 00:11:46,710 --> 00:11:49,396 boas práticas para colocar um número da versão nele para que as pessoas 214 00:11:49,396 --> 00:11:51,020 saber qual a versão que eles estão lidando. 215 00:11:51,020 --> 00:11:54,300 >> Então, se você decidir que encontrar uma maneira melhor a tornar estas informações disponíveis, 216 00:11:54,300 --> 00:11:57,295 podemos mudar isso para chamar essa versão três. 217 00:11:57,295 --> 00:11:59,920 Então todo mundo que ainda está usando versão dois, que ainda vai trabalhar. 218 00:11:59,920 --> 00:12:03,490 Mas a versão de três faria tem todo o material novo. 219 00:12:03,490 --> 00:12:06,680 220 00:12:06,680 --> 00:12:09,210 >> Portanto, esta é uma API, mas este realmente se parece com uma URL. 221 00:12:09,210 --> 00:12:11,680 E então o que este é um exemplo de é o que é 222 00:12:11,680 --> 00:12:16,615 chamado de uma API de descanso, que se encontra disponível em apenas uma conexão web regular. 223 00:12:16,615 --> 00:12:19,680 E você pode realmente acessá-la em um navegador. 224 00:12:19,680 --> 00:12:28,550 >> Então aqui eu acabou de abrir o Firefox e ido para api.lib.harvard.edu/v2/items. 225 00:12:28,550 --> 00:12:31,560 E assim que eu chegar aqui é basicamente, a primeira página 226 00:12:31,560 --> 00:12:34,740 dos resultados da totalidade conjunto de itens que nós temos. 227 00:12:34,740 --> 00:12:37,460 E é aqui, em formato XML. 228 00:12:37,460 --> 00:12:40,130 229 00:12:40,130 --> 00:12:42,210 E tem também sido enfeitada pela Firefox. 230 00:12:42,210 --> 00:12:45,850 Na verdade, não tenho tudo isso pouco expandindo e contraindo 231 00:12:45,850 --> 00:12:47,880 doohickeys aqui. 232 00:12:47,880 --> 00:12:52,520 Esta é uma espécie de um Buscamos versão maneira de olhar para ele. 233 00:12:52,520 --> 00:12:57,040 >> Mas o que isso está nos dizendo é Eu já solicitou a todos os itens. 234 00:12:57,040 --> 00:13:03,120 Portanto, há 13.289.475 itens. 235 00:13:03,120 --> 00:13:06,150 E eu estou olhando para o primeiro 10, começando na posição zero 236 00:13:06,150 --> 00:13:09,760 porque em ciência da computação nós sempre começam em zero. 237 00:13:09,760 --> 00:13:15,150 E o que eu tenho aqui, se eu entrar em colapso isso, você vai ver que eu tenho 10 itens. 238 00:13:15,150 --> 00:13:20,410 239 00:13:20,410 --> 00:13:25,210 >> E se eu dar uma olhada em um item, eu posso ver que eu tenho informações sobre ele. 240 00:13:25,210 --> 00:13:27,400 E isso é o que é chamado em forma mods. 241 00:13:27,400 --> 00:13:30,860 E assim eu vou mudar voltar aqui por um momento. 242 00:13:30,860 --> 00:13:33,750 OK. 243 00:13:33,750 --> 00:13:37,447 >> Então, vamos procurar algo em específico, porque o primeiro item que 244 00:13:37,447 --> 00:13:40,030 acontece a vir para cima quando você olha por toda a coleção 245 00:13:40,030 --> 00:13:41,750 é, por definição, aleatória. 246 00:13:41,750 --> 00:13:44,550 Então, vamos olhar para alguns 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 Assim donuts. 250 00:13:49,940 --> 00:13:55,360 Então, nós encontramos há 80 itens em a coleção que referenciar donuts. 251 00:13:55,360 --> 00:13:57,150 Nós estamos olhando para os primeiros 10 deles. 252 00:13:57,150 --> 00:14:01,890 Agora, você pode ver aqui o caminho que Eu disse que eu estou procurando anéis de espuma, 253 00:14:01,890 --> 00:14:04,400 Acabei de adicionar algo a a string de consulta da URL. 254 00:14:04,400 --> 00:14:09,680 Assim q é igual a rosquinhas, que você pode ver um pouco mais facilmente aqui. 255 00:14:09,680 --> 00:14:12,131 >> E isso basicamente significa que há uma especificação para a API, que 256 00:14:12,131 --> 00:14:13,880 define o que todos esses parâmetros dizer. 257 00:14:13,880 --> 00:14:17,150 E isso significa que vamos procurar tudo para donuts. 258 00:14:17,150 --> 00:14:24,910 >> Assim, o primeiro item aqui temos você pode ver o título é Donuts, 259 00:14:24,910 --> 00:14:29,310 e existe uma chamada Uma legenda Paixão americana, que é, eu acho, 260 00:14:29,310 --> 00:14:31,610 apropriado. 261 00:14:31,610 --> 00:14:36,134 Há um monte de diferente-- 262 00:14:36,134 --> 00:14:38,050 Uma vez que você chegar ao ponto de obter os dados, 263 00:14:38,050 --> 00:14:41,020 há um grande número de diferentes formatos que você pode obtê-lo em. 264 00:14:41,020 --> 00:14:44,050 E há diferentes forças e fracos para todos eles. 265 00:14:44,050 --> 00:14:49,000 Então este, você pode ver aqui, essa forma é muito rica. 266 00:14:49,000 --> 00:14:51,946 E é padronizado. 267 00:14:51,946 --> 00:14:55,040 >> Portanto, há um título específico campo, um campo de legenda. 268 00:14:55,040 --> 00:14:58,950 Há um suplente título, An American Passion. 269 00:14:58,950 --> 00:15:01,650 Não é o nome associado a ele. 270 00:15:01,650 --> 00:15:03,120 Tipo do recurso é o texto. 271 00:15:03,120 --> 00:15:06,070 Há um monte de informações aqui neste formato. 272 00:15:06,070 --> 00:15:09,480 >> Mas há um grupo de diferentes formatos. 273 00:15:09,480 --> 00:15:11,920 Então, o que nós éramos apenas olhando é um formato 274 00:15:11,920 --> 00:15:17,700 chamados mods, que significa Metadata Object Description Service, 275 00:15:17,700 --> 00:15:18,250 potencialmente. 276 00:15:18,250 --> 00:15:23,030 Eu realmente não estou muito certo sobre o S. Mas é um formato bastante complexo. 277 00:15:23,030 --> 00:15:24,240 É o formato padrão. 278 00:15:24,240 --> 00:15:30,260 >> Mas é a única que mantém a riqueza de todos os dados 279 00:15:30,260 --> 00:15:33,820 que a biblioteca tem porque é muito próximo ao que 280 00:15:33,820 --> 00:15:35,110 usa a biblioteca internamente. 281 00:15:35,110 --> 00:15:39,030 É um padrão que é utilizado em todo o país, 282 00:15:39,030 --> 00:15:40,944 em todo o mundo em bibliotecas universitárias. 283 00:15:40,944 --> 00:15:42,110 E é muito interoperáveis. 284 00:15:42,110 --> 00:15:44,852 Então, se você tem um documento que está no formato mods, 285 00:15:44,852 --> 00:15:47,560 você pode dar isso para outra pessoa cujos sistemas entender mods, 286 00:15:47,560 --> 00:15:48,518 e eles podem importá-lo. 287 00:15:48,518 --> 00:15:50,840 Portanto, é um padrão. 288 00:15:50,840 --> 00:15:54,250 É muito bem definida, muito específico. 289 00:15:54,250 --> 00:15:58,980 E é isso que faz com que seja interoperável, porque se alguém diz: 290 00:15:58,980 --> 00:16:04,930 este é o título de um suplente registro, todo mundo sabe o que isso significa. 291 00:16:04,930 --> 00:16:07,740 Por outro lado, é muito complicado. 292 00:16:07,740 --> 00:16:13,160 >> Então, se você der uma olhada neste registro aqui, 293 00:16:13,160 --> 00:16:15,320 se eu só quero pegar o título deste documento, 294 00:16:15,320 --> 00:16:21,150 deste livro, que é provavelmente Donuts, An American Passion, analisá-lo para fora 295 00:16:21,150 --> 00:16:22,940 é um pouco envolvido. 296 00:16:22,940 --> 00:16:27,380 Considerando que há uma outra formato chamado Dublin Core, 297 00:16:27,380 --> 00:16:29,730 que é um formato muito, muito mais simples. 298 00:16:29,730 --> 00:16:33,764 >> E assim que você vê aqui, não há nenhuma título, subtítulo, título alternativo. 299 00:16:33,764 --> 00:16:35,930 Há apenas o título, Donuts, An American Passion, 300 00:16:35,930 --> 00:16:38,780 e outro título, Paixão americano. 301 00:16:38,780 --> 00:16:42,907 Então, quando você está olhando para o que forma você deseja obter os dados de, 302 00:16:42,907 --> 00:16:44,740 muito depende de como você vai usá-lo. 303 00:16:44,740 --> 00:16:46,573 Você está usando para interoperabilidade ou você 304 00:16:46,573 --> 00:16:49,970 quer algo simples que pode ser mais fácil de trabalhar? 305 00:16:49,970 --> 00:16:56,002 >> Por outro lado, uma grande parte do detalhes se espécie de esmagado baixo. 306 00:16:56,002 --> 00:16:58,460 Você pode perder as nuances de o que significa um campo particular 307 00:16:58,460 --> 00:17:02,960 se você está lidando com Dublin Core, que você não iria ficar com mods. 308 00:17:02,960 --> 00:17:06,462 Então esses são dois dos formatos você pode sair da API. 309 00:17:06,462 --> 00:17:08,920 E, basicamente, estamos mantendo ele nos bastidores de mods. 310 00:17:08,920 --> 00:17:14,179 Mas podemos dar-lhe-lo em mods e Dublin Core e mais alguma coisa também. 311 00:17:14,179 --> 00:17:16,470 A outra consideração quando você está procurando nos dados 312 00:17:16,470 --> 00:17:21,210 é que você pode obtê-lo tanto como JSON, que significa JavaScript Object Notation, 313 00:17:21,210 --> 00:17:24,720 ou XML, o que significa Extensible Markup Language. 314 00:17:24,720 --> 00:17:30,080 E essas representações de dados tanto têm exatamente os mesmos dados, exatamente 315 00:17:30,080 --> 00:17:31,080 os mesmos campos. 316 00:17:31,080 --> 00:17:33,644 Mas eles são apenas sintacticamente diferente. 317 00:17:33,644 --> 00:17:40,401 >> Portanto, este é a-- 318 00:17:40,401 --> 00:17:41,400 Bem, vamos apenas mudar. 319 00:17:41,400 --> 00:17:47,490 Então esta é a nossa consulta para donuts no formato XML. 320 00:17:47,490 --> 00:17:53,470 Se eu mudar isso seja JSON, Eu posso ver isso parece diferente. 321 00:17:53,470 --> 00:17:58,580 Então, agora este é o mesmo conteúdo, mas uma estrutura diferente. 322 00:17:58,580 --> 00:18:00,080 Há menos colchetes. 323 00:18:00,080 --> 00:18:02,530 Há menos detalhado. 324 00:18:02,530 --> 00:18:06,440 >> E este é um formato que, se você estão trabalhando no ambiente web, 325 00:18:06,440 --> 00:18:09,680 você está muito provavelmente vai querer usar porque um 326 00:18:09,680 --> 00:18:12,630 das coisas agradáveis ​​sobre JSON é ele é compatível com JavaScript. 327 00:18:12,630 --> 00:18:17,680 Então, se eu estou escrevendo app web, posso puxar em JSON e apenas trabalhar com ele diretamente. 328 00:18:17,680 --> 00:18:20,187 Considerando com XML, é uma pouco mais complicado. 329 00:18:20,187 --> 00:18:21,520 Então, novamente, estes são úteis. 330 00:18:21,520 --> 00:18:26,387 Eles só são diferentes casos de uso onde as pessoas podem querer usá-los. 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 Então, de volta para o API. 334 00:18:31,680 --> 00:18:32,900 Assim, podemos procurar for-- 335 00:18:32,900 --> 00:18:36,220 >> Eu dou um exemplo de procura de donuts. 336 00:18:36,220 --> 00:18:39,330 Nós também pode pesquisar apenas em um campo específico dentro aqui. 337 00:18:39,330 --> 00:18:41,310 Então, ao invés de procurar todo o registro, 338 00:18:41,310 --> 00:18:43,870 Eu posso apenas procurar o campo de título. 339 00:18:43,870 --> 00:18:48,810 E agora existem 25 coisas que tem rosquinhas no título, um dos quais 340 00:18:48,810 --> 00:18:52,430 é sobre a restauração wetlands na gestão 341 00:18:52,430 --> 00:18:54,990 do rombo programa, o qual é provavelmente 342 00:18:54,990 --> 00:18:58,970 não necessariamente o que estamos procurando para quando estamos à procura de donuts. 343 00:18:58,970 --> 00:19:02,790 344 00:19:02,790 --> 00:19:05,490 >> Você também pode, quando você está lidando com um API-- 345 00:19:05,490 --> 00:19:08,827 >> Parte de ter uma API é dando pessoas o acesso a grandes conjuntos de dados. 346 00:19:08,827 --> 00:19:11,410 E há um par diferente ferramentas que você pode usar para fazer isso. 347 00:19:11,410 --> 00:19:14,170 Uma delas é, muito simplesmente, você pode folhear os dados. 348 00:19:14,170 --> 00:19:17,340 Assim como se você fizer uma consulta através de uma interface web, 349 00:19:17,340 --> 00:19:19,470 você pode olhar para a primeira página, página dois, página três. 350 00:19:19,470 --> 00:19:22,040 Você pode fazer o mesmo coisa através da API. 351 00:19:22,040 --> 00:19:24,150 Você só precisa ser explícita em como fazê-lo. 352 00:19:24,150 --> 00:19:29,511 >> Assim, por exemplo, se eu estou procurando na minha primeira consulta aqui, 353 00:19:29,511 --> 00:19:32,510 onde eu estou fazendo uma pesquisa de coisas com anéis de espuma no título, o que posso dizer, 354 00:19:32,510 --> 00:19:35,415 e limite é igual a 20, o que significa dê-me os primeiros 20 registros, não 355 00:19:35,415 --> 00:19:38,540 os 10 primeiros, que é o padrão, porque eu quero olhar para 20 de cada vez. 356 00:19:38,540 --> 00:19:43,435 Ou eu posso dizer, definir o iniciar igual a 20 e limite 357 00:19:43,435 --> 00:19:47,150 igual a 20, o que dará me registra 21 a 40. 358 00:19:47,150 --> 00:19:52,680 >> Então eu acho que a coisa para tirar aqui é 359 00:19:52,680 --> 00:19:57,290 que estamos usando as strings de consulta para definir parâmetros sobre a consulta. 360 00:19:57,290 --> 00:20:02,760 E ele permite que você controle o que você recebe de volta. 361 00:20:02,760 --> 00:20:05,980 >> Outra ferramenta que você pode usar, - 362 00:20:05,980 --> 00:20:09,250 >> E isso é realmente útil em termos de explorar os dados. 363 00:20:09,250 --> 00:20:10,840 >> --é algo chamado faceting. 364 00:20:10,840 --> 00:20:15,530 Assim, o termo é facetamento não necessariamente comum. 365 00:20:15,530 --> 00:20:16,880 Mas você já todos vimos isso antes. 366 00:20:16,880 --> 00:20:18,630 Se você der uma olhada Amazon, por exemplo, 367 00:20:18,630 --> 00:20:20,870 e você fizer uma pesquisa para rosquinhas nos livros, 368 00:20:20,870 --> 00:20:27,080 aqui eles têm uma série de livros, e eles estão agrupados por categoria, 369 00:20:27,080 --> 00:20:30,470 e você começa as diferentes categorias, e quantos livros em cada categoria 370 00:20:30,470 --> 00:20:31,330 aparecer. 371 00:20:31,330 --> 00:20:33,420 >> Portanto, este é basicamente uma faceta. 372 00:20:33,420 --> 00:20:37,570 Você toma todos os seus livros, a 1.800 os livros que correspondam rosquinhas na Amazon. 373 00:20:37,570 --> 00:20:39,820 12 deles estão no categoria café da manhã. 374 00:20:39,820 --> 00:20:43,100 21 em pastelaria e panificação, e assim por diante e assim por diante. 375 00:20:43,100 --> 00:20:47,670 >> Portanto, este é realmente um útil ferramenta para explorar o conteúdo 376 00:20:47,670 --> 00:20:53,260 dentro da biblioteca bem porque quando você olha para uma faceta, 377 00:20:53,260 --> 00:20:56,520 que lhe dá uma idéia do que submete existe, como que tipos de assuntos 378 00:20:56,520 --> 00:20:58,510 são mais populares dentro do seu conjunto consulta. 379 00:20:58,510 --> 00:21:00,950 E isso ajuda a expulsar e explorar. 380 00:21:00,950 --> 00:21:02,770 Assim, podemos fazer a mesma coisa. 381 00:21:02,770 --> 00:21:05,940 >> Se quiser usar o API e olhar para as facetas, 382 00:21:05,940 --> 00:21:08,950 acrescentamos um outro parâmetro para o nosso amigo a string de consulta. 383 00:21:08,950 --> 00:21:12,540 Então facetas é igual a uma separados por vírgula lista do que queremos faceta diante. 384 00:21:12,540 --> 00:21:14,790 Portanto, uma das facetas pode estar sujeito. 385 00:21:14,790 --> 00:21:16,565 Outro pode ser a linguagem. 386 00:21:16,565 --> 00:21:19,665 E por isso, se corremos essa consulta, nós get-- 387 00:21:19,665 --> 00:21:23,372 388 00:21:23,372 --> 00:21:24,830 Parece quase a mesma coisa aqui. 389 00:21:24,830 --> 00:21:29,010 Mas nós temos adicionado ao final da lista um conjunto de facetas. 390 00:21:29,010 --> 00:21:34,060 Portanto, temos uma faceta chamado assunto. 391 00:21:34,060 --> 00:21:40,250 Então, isso está nos dizendo que se eu olhar em meus 80 resultados da consulta filhós, 392 00:21:40,250 --> 00:21:42,100 13 deles têm o sujeitar Estados Unidos. 393 00:21:42,100 --> 00:21:43,684 Três têm os donuts sujeitos. 394 00:21:43,684 --> 00:21:45,600 Três têm o sujeito de restauração de zonas húmidas, 395 00:21:45,600 --> 00:21:47,720 o que pode ser o nosso buraco no donut. 396 00:21:47,720 --> 00:21:51,780 Dois deles, os Simpsons, e assim por diante e assim por diante. 397 00:21:51,780 --> 00:21:59,211 >> Portanto, este pode ser útil se você quer afinar a sua pesquisa. 398 00:21:59,211 --> 00:22:00,210 Ele pode ajudá-lo a fazer isso. 399 00:22:00,210 --> 00:22:03,580 Especialmente se você tem mais do que, digamos, 80 resultados. 400 00:22:03,580 --> 00:22:05,980 >> Da mesma forma, também pedimos para facetas sobre a linguagem. 401 00:22:05,980 --> 00:22:14,790 Portanto, se olharmos para os nossos resultados, vemos 76 deles são em Inglês, quatro em francês, 402 00:22:14,790 --> 00:22:19,620 dois em espanhol, dois, eu acho que é indefinidos ou desconhecidos, holandês e latim. 403 00:22:19,620 --> 00:22:22,830 Então eu acho que o Latin resultado de rosca, novamente, 404 00:22:22,830 --> 00:22:24,922 não tem nada a ver com produtos de panificação. 405 00:22:24,922 --> 00:22:25,630 Mas lá vai. 406 00:22:25,630 --> 00:22:31,420 407 00:22:31,420 --> 00:22:38,630 >> Portanto, esta é uma espécie de lhe mostrar como você pode puxar o conteúdo de volta 408 00:22:38,630 --> 00:22:41,270 a partir da API apenas através navegador web, o que é ótimo. 409 00:22:41,270 --> 00:22:44,320 Mas não é realmente o que você faria normalmente usando em API para isso. 410 00:22:44,320 --> 00:22:48,710 Então, um exemplo de como você poderia realmente fazer isso é que eu tenho 411 00:22:48,710 --> 00:22:54,720 escrito um super pequeno programa, que, mais uma vez, que a minha pesquisa rosquinha 412 00:22:54,720 --> 00:22:59,010 e seleciona alguns campos e as exibe em uma mesa. 413 00:22:59,010 --> 00:23:01,610 Então isso é muito o mesmo conteúdo que acabamos 414 00:23:01,610 --> 00:23:04,830 serra com alguns campos puxado para fora. 415 00:23:04,830 --> 00:23:12,090 Então lista de títulos, os localização do que o livro 416 00:23:12,090 --> 00:23:15,120 é de cerca de, a língua, e assim por diante e assim por diante. 417 00:23:15,120 --> 00:23:20,480 >> Então, como isso realmente aconteceu, uma vez que Eu acho que nós temos que olhar para algum código, 418 00:23:20,480 --> 00:23:22,420 é-- 419 00:23:22,420 --> 00:23:28,060 >> O que temos aqui é um HTML simples página, que exibe o texto, 420 00:23:28,060 --> 00:23:32,900 Bem-vindo à nuvem biblioteca e em seguida, exibe uma tabela de resultados. 421 00:23:32,900 --> 00:23:37,790 E obviamente não há resultados em a mesa quando a página é carregada. 422 00:23:37,790 --> 00:23:41,380 Mas o que estamos fazendo é, em primeiro lugar, nós 423 00:23:41,380 --> 00:23:46,290 está a colocar uma biblioteca chamada jQuery, que é basicamente 424 00:23:46,290 --> 00:23:52,030 uma biblioteca JavaScript, o que torna muito fácil de manipular JavaScript 425 00:23:52,030 --> 00:23:58,780 nativamente, HTML, e criar páginas web, lógica de cliente e páginas da web. 426 00:23:58,780 --> 00:24:01,595 >> Então o que temos aqui é jQuery tem um método chamado Get, 427 00:24:01,595 --> 00:24:05,270 que essencialmente vai para um URL, o qual, neste caso, 428 00:24:05,270 --> 00:24:09,070 é esta URL olhar familiar. 429 00:24:09,070 --> 00:24:14,440 E, em seguida, obter o conteúdo de que URL e, em seguida, executar uma função nele. 430 00:24:14,440 --> 00:24:19,240 Então nós dissemos ir para api.lib.harvard / edu. 431 00:24:19,240 --> 00:24:20,060 Pesquise donuts. 432 00:24:20,060 --> 00:24:21,300 Dê-nos a 20 registros. 433 00:24:21,300 --> 00:24:28,590 E em seguida, executar esta função, o que Eu selecionei, passando-os dados. 434 00:24:28,590 --> 00:24:34,430 E os dados é o JSON que foi retornado do API. 435 00:24:34,430 --> 00:24:40,120 >> E então nós estamos dizendo, dentro desse dados há um campo chamado item. 436 00:24:40,120 --> 00:24:48,117 E se eu for dar uma olhada para trás em um desses resultados que estão aqui, 437 00:24:48,117 --> 00:24:49,200 há algo called-- 438 00:24:49,200 --> 00:24:50,220 >> Bem, ele é chamado item. 439 00:24:50,220 --> 00:24:53,520 De modo que pode ser que. 440 00:24:53,520 --> 00:25:01,840 E o que ele faz é passa por cada item 441 00:25:01,840 --> 00:25:05,300 e, em seguida, chama outro função em cada item. 442 00:25:05,300 --> 00:25:08,440 E essa função, basicamente, está tomando o valor 443 00:25:08,440 --> 00:25:12,010 do item, o que é essencialmente o registro individual 444 00:25:12,010 --> 00:25:18,220 e permite-nos tirar o título, a cobertura e o idioma. 445 00:25:18,220 --> 00:25:21,640 >> Por isso, chamar uma função em cada item que temos de volta a partir da API. 446 00:25:21,640 --> 00:25:25,397 E se você só dar uma olhada para este pedaço aqui, 447 00:25:25,397 --> 00:25:27,230 o que estamos fazendo é estamos criando uma corda, 448 00:25:27,230 --> 00:25:31,810 que é essencialmente um pouco de marcação HTML em torno de uma mesa, com value.title, 449 00:25:31,810 --> 00:25:35,790 que é o título do objeto, value.coverage, 450 00:25:35,790 --> 00:25:36,790 que é a cobertura, - 451 00:25:36,790 --> 00:25:38,225 >> E nós estamos fazendo uma verificação aqui para ver quem é indefinido 452 00:25:38,225 --> 00:25:40,570 e escondê-lo se ele diz indefinido, porque não estamos realmente interessados 453 00:25:40,570 --> 00:25:41,600 em que. 454 00:25:41,600 --> 00:25:42,939 >> --e então a linguagem. 455 00:25:42,939 --> 00:25:44,730 E então o que nós somos fazendo é acrescentando que 456 00:25:44,730 --> 00:25:48,510 para a tabela que é identificado por esta cadeia aqui. 457 00:25:48,510 --> 00:25:50,790 E como funciona jQuery é o que se diz 458 00:25:50,790 --> 00:25:56,420 é olhar para a tabela com a idéia resultados e adicione-lhe o texto. 459 00:25:56,420 --> 00:25:59,380 E esta é a tabela com os resultados idéia. 460 00:25:59,380 --> 00:26:04,998 Então, o que você acaba com é esta página aqui. 461 00:26:04,998 --> 00:26:06,206 E, a fim de visualizar source-- 462 00:26:06,206 --> 00:26:11,310 463 00:26:11,310 --> 00:26:13,810 Bem, a fonte não é realmente atualizados quando isso aconteceu. 464 00:26:13,810 --> 00:26:18,740 Assim você pode ver o real resultados da tabela aqui embora. 465 00:26:18,740 --> 00:26:24,770 >> Então, isso é apenas um exemplo simples de fazendo uma consulta muito básico contra a API 466 00:26:24,770 --> 00:26:29,020 e exibição de informações em algum outro formar, e não fazer nada muito extravagante. 467 00:26:29,020 --> 00:26:36,370 Agora, outro exemplo é como um pedido escrito por David Weinberger 468 00:26:36,370 --> 00:26:39,120 como uma demo deste, que essencialmente mostra 469 00:26:39,120 --> 00:26:44,620 como você pode misturar-se os resultados que você está recebendo a partir da API biblioteca nuvem 470 00:26:44,620 --> 00:26:46,250 com, digamos, o Google Books. 471 00:26:46,250 --> 00:26:52,225 >> E o pensamento aqui é que eu posso executar uma consulta contra Google Books, 472 00:26:52,225 --> 00:26:56,060 obter uma pesquisa de texto completo, obter alguns resultados volta, descobrir qual desses itens 473 00:26:56,060 --> 00:27:01,180 realmente existem em Hollis, o sistema de biblioteca, 474 00:27:01,180 --> 00:27:03,200 e, em seguida, dar-me os links de volta a esses itens. 475 00:27:03,200 --> 00:27:12,730 Então, se eu procurar, era uma noite escura e tempestuosa, I 476 00:27:12,730 --> 00:27:16,210 voltar um monte de resultados do Google, e, em seguida, um resultado 477 00:27:16,210 --> 00:27:19,460 que é Uma Dobra no Tempo. 478 00:27:19,460 --> 00:27:29,330 E estes são os links para os livros que existem dentro do sistema de biblioteca de Harvard. 479 00:27:29,330 --> 00:27:32,160 >> Então eu acho que a questão aqui não é tanto que este pode ou não 480 00:27:32,160 --> 00:27:34,118 ser do jeito que você quer para procurar a biblioteca, 481 00:27:34,118 --> 00:27:38,310 mas é completamente diferente forma que não estava disponível para você 482 00:27:38,310 --> 00:27:42,884 antes, como você não tinha como fazer texto completo pesquisa em livros que, mesmo 483 00:27:42,884 --> 00:27:44,550 eram parte do sistema Biblioteca Harvard. 484 00:27:44,550 --> 00:27:46,870 Então, agora esta é uma maneira que você pode fazer isso. 485 00:27:46,870 --> 00:27:51,930 E você pode exibi-los em qualquer formato que você quiser. 486 00:27:51,930 --> 00:27:55,990 Então, a questão aqui é, basicamente, estamos abrindo novas maneiras para as pessoas 487 00:27:55,990 --> 00:27:59,080 a trabalhar com os dados. 488 00:27:59,080 --> 00:28:07,925 >> Outra peça de cloud biblioteca é que ele ajuda a expor alguns dos dados de uso 489 00:28:07,925 --> 00:28:08,800 que tem a biblioteca. 490 00:28:08,800 --> 00:28:12,630 Então, se você vai para a biblioteca, e você está à procura de livros, 491 00:28:12,630 --> 00:28:15,770 Você não precisa necessariamente realmente ter uma idéia de, 492 00:28:15,770 --> 00:28:19,080 para todos os itens de uma determinado assunto, o que 493 00:28:19,080 --> 00:28:21,200 são pessoas na comunidade, se é 494 00:28:21,200 --> 00:28:24,890 definido como Harvard ou o país ou da sua classe, 495 00:28:24,890 --> 00:28:26,421 o que têm eles encontraram mais útil? 496 00:28:26,421 --> 00:28:28,920 E a biblioteca, na verdade, tem um tonelada de informações sobre o que 497 00:28:28,920 --> 00:28:32,999 é mais útil porque se um lote de pessoas a visitar a um livro, 498 00:28:32,999 --> 00:28:34,040 que lhe diz alguma coisa. 499 00:28:34,040 --> 00:28:36,498 Deve ter havido alguma razão eles querem dar uma olhada. 500 00:28:36,498 --> 00:28:38,270 Um monte de gente colocá-lo na reserva. 501 00:28:38,270 --> 00:28:42,520 >> Se é na lista de reserva para um monte das aulas, que lhe diz alguma coisa. 502 00:28:42,520 --> 00:28:45,960 Se os membros do corpo docente estão verificando- fora muito e alunos de graduação não são, 503 00:28:45,960 --> 00:28:47,200 que me diz alguma coisa. 504 00:28:47,200 --> 00:28:49,280 Vice-versa, que também diz-lhe alguma coisa. 505 00:28:49,280 --> 00:28:54,680 Portanto, seria muito interessante para colocar essa informação lá fora e deixar 506 00:28:54,680 --> 00:28:59,969 pessoas usá-lo para ajudá-los a encontrar funciona dentro do sistema de biblioteca. 507 00:28:59,969 --> 00:29:02,260 O outro lado disso é há um pouco de privacidade grave 508 00:29:02,260 --> 00:29:07,854 preocupações porque um dos princípios fundamentais da biblioteca 509 00:29:07,854 --> 00:29:10,770 é que não vamos estar a dizer pessoas que as outras pessoas estão lendo. 510 00:29:10,770 --> 00:29:17,360 E mesmo que você está dizendo isso livro foi verificado quatro vezes 511 00:29:17,360 --> 00:29:20,070 em um determinado mês, que poderia ser utilizada 512 00:29:20,070 --> 00:29:25,252 para ligar de volta a um determinado pessoa por dados de-anonimato 513 00:29:25,252 --> 00:29:26,710 e descobrir o que fez o check-out. 514 00:29:26,710 --> 00:29:30,792 Assim, a maneira que nós podemos avoid-- 515 00:29:30,792 --> 00:29:33,750 A maneira que nós podemos tentar extrair alguns sinais de todas as informações 516 00:29:33,750 --> 00:29:36,740 sem infringir preocupações com a privacidade de ninguém 517 00:29:36,740 --> 00:29:42,150 é, essencialmente, nós olhamos 10 anos de dados de utilização, - 518 00:29:42,150 --> 00:29:43,930 >> Então, é por um longo período de tempo. 519 00:29:43,930 --> 00:29:50,639 >> --e dizer, OK, vamos ver como muitas vezes este trabalho foi usado, 520 00:29:50,639 --> 00:29:52,930 e por que ao longo deste período de tempo, e, em seguida, basicamente 521 00:29:52,930 --> 00:29:56,300 devolver um número, que chamamos uma pontuação de pilha, que, basicamente, 522 00:29:56,300 --> 00:29:59,910 representa o quanto ele foi usado. 523 00:29:59,910 --> 00:30:01,084 E isso number-- 524 00:30:01,084 --> 00:30:03,250 Um monte de diferentes cálculos ir para esse número. 525 00:30:03,250 --> 00:30:05,150 --mas é um muito áspera métrica que lhe dá 526 00:30:05,150 --> 00:30:11,300 alguma idéia de como o comunidade podem valorizar esse trabalho. 527 00:30:11,300 --> 00:30:16,772 >> E assim mais um tipo de mesmo mais aprofundados aplicação 528 00:30:16,772 --> 00:30:18,480 que aproveita isto é algo 529 00:30:18,480 --> 00:30:24,000 chamado Stacklife, que é, na verdade, disponível através do principal Harvard 530 00:30:24,000 --> 00:30:24,880 Portal da Biblioteca. 531 00:30:24,880 --> 00:30:26,700 Então você vai para library.harvard.edu. 532 00:30:26,700 --> 00:30:29,360 Você verá uma série de diferente formas de pesquisar a biblioteca. 533 00:30:29,360 --> 00:30:32,300 E um deles é chamado Stacklife. 534 00:30:32,300 --> 00:30:38,980 >> E este é um aplicativo que navega o conteúdo da biblioteca, 535 00:30:38,980 --> 00:30:43,490 mas é totalmente construído em cima dessas APIs. 536 00:30:43,490 --> 00:30:46,910 Portanto, não há material especial acontecendo nos bastidores. 537 00:30:46,910 --> 00:30:49,570 Não há acesso a dados que você não tem. 538 00:30:49,570 --> 00:30:54,090 Ele está usando as APIs para fornecer-lhe com uma navegação completamente diferente 539 00:30:54,090 --> 00:30:55,480 experiência. 540 00:30:55,480 --> 00:30:58,570 >> Então, se eu procurar Alice no País das Maravilhas, neste caso, 541 00:30:58,570 --> 00:31:02,600 I obter um resultado que parece este, que é bastante much-- 542 00:31:02,600 --> 00:31:05,430 543 00:31:05,430 --> 00:31:10,870 >> É muito semelhante a qualquer outra pesquisa que você pode fazer, exceto, neste caso, 544 00:31:10,870 --> 00:31:15,730 estamos classificando os itens por stackscore, que lhe dá 545 00:31:15,730 --> 00:31:19,850 alguma idéia de quão popular esses itens estavam dentro da comunidade. 546 00:31:19,850 --> 00:31:25,610 E de forma tão clara, Alice no País das Maravilhas por Walt Disney é altamente popular. 547 00:31:25,610 --> 00:31:36,570 Mas você também pode ver os quatro primeiros aqui são aqueles que você pode não actually-- 548 00:31:36,570 --> 00:31:39,220 >> Coisas que são muito utilizados, Mas você pode não imediatamente 549 00:31:39,220 --> 00:31:41,240 conectar-se com Alice no País das Maravilhas. 550 00:31:41,240 --> 00:31:44,650 Assim, o nosso velho amigo, o Annotated Alice está aqui. 551 00:31:44,650 --> 00:31:46,350 Para que eu possa dar uma olhada nisso. 552 00:31:46,350 --> 00:31:52,010 E agora o que estou procurando em é basicamente um conjunto de-- 553 00:31:52,010 --> 00:31:53,760 Eu posso ter The Annotated Alice aqui. 554 00:31:53,760 --> 00:31:56,700 Eu tenho informações sobre ele. 555 00:31:56,700 --> 00:32:00,230 E eu também tenho um stackscore de, neste caso, 26. 556 00:32:00,230 --> 00:32:03,169 E isso me diz que tipo de aproximadamente como chegamos a este stackscore, 557 00:32:03,169 --> 00:32:05,835 como que o check-out, como a forma como muitas vezes foi feito check-out, 558 00:32:05,835 --> 00:32:08,440 como faculdade ou graduandos, como muitas cópias a biblioteca tem, 559 00:32:08,440 --> 00:32:11,300 e assim por diante e assim por diante. 560 00:32:11,300 --> 00:32:16,460 >> E você também pode, interessante o suficiente aqui, ver as pilhas virtualmente. 561 00:32:16,460 --> 00:32:19,550 Assim, os dados aqui, este está mostrando-lhe sorte 562 00:32:19,550 --> 00:32:23,547 de uma representação virtual do que o poder de prateleira 563 00:32:23,547 --> 00:32:25,880 olha como se você tivesse que tomar todas as explorações da biblioteca 564 00:32:25,880 --> 00:32:28,940 e colocá-los juntos sobre uma prateleira infinito. 565 00:32:28,940 --> 00:32:30,990 E o bom é que nós can-- 566 00:32:30,990 --> 00:32:33,380 >> Em primeiro lugar, o metadados sobre esses livros 567 00:32:33,380 --> 00:32:35,627 muitas vezes diz-lhe quando foi publicado. 568 00:32:35,627 --> 00:32:37,085 Diz-lhe quantas páginas ele tem. 569 00:32:37,085 --> 00:32:38,459 Pode dizer-lhe as dimensões. 570 00:32:38,459 --> 00:32:42,930 Assim, você pode ver que se reflete aqui em termos da dimensão dos livros. 571 00:32:42,930 --> 00:32:46,740 >> E então podemos usar o empilhar pontuação para realçar 572 00:32:46,740 --> 00:32:49,170 os livros que têm pontuações mais altas pilha. 573 00:32:49,170 --> 00:32:54,930 Então, se é mais escura, isso significa que, Presumivelmente, ele é usado com mais freqüência. 574 00:32:54,930 --> 00:32:57,040 Portanto, neste caso, eu sou indo para adivinhar que este 575 00:32:57,040 --> 00:33:03,226 é a versão de Alice no País das Maravilhas que é muito usado e mais 576 00:33:03,226 --> 00:33:05,100 acessada, a biblioteca tem o maior número de cópias. 577 00:33:05,100 --> 00:33:06,975 Então, se você está procurando para Alice no País das Maravilhas, 578 00:33:06,975 --> 00:33:10,220 este pode ser um bom lugar para começar. 579 00:33:10,220 --> 00:33:13,500 >> E, em seguida, aqui você também pode ligar para fora para, digamos, a Amazon para comprar o livro, 580 00:33:13,500 --> 00:33:15,182 e assim por diante e assim por diante. 581 00:33:15,182 --> 00:33:17,140 O ponto aqui, mais uma vez, Não é tanto que este 582 00:33:17,140 --> 00:33:25,030 é a melhor maneira de navegar na biblioteca ou a ferramenta certa para cada ocasião. 583 00:33:25,030 --> 00:33:28,400 Mas é uma outra maneira de fazê-lo. 584 00:33:28,400 --> 00:33:31,359 E fazendo a dados disponível através de uma API, que 585 00:33:31,359 --> 00:33:34,650 é feita de blocos de construção muito simples, que permite que você pesquise o conteúdo, 586 00:33:34,650 --> 00:33:39,420 você pode construir algo como esta que podem 587 00:33:39,420 --> 00:33:41,520 ser extraordinariamente valioso para algumas pessoas. 588 00:33:41,520 --> 00:33:46,640 589 00:33:46,640 --> 00:33:51,860 >> Então, isso é uma espécie de, tanto quanto eu quero a dizer realmente sobre o que a API é 590 00:33:51,860 --> 00:33:56,070 eo que ele expõe, não há um todo monte de coisas nos bastidores, que 591 00:33:56,070 --> 00:33:59,480 Eu só vou tocar em breve só porque é uma espécie de chega a este 592 00:33:59,480 --> 00:34:03,720 a partir de um ângulo completamente diferente em termos de como é que algo como isto 593 00:34:03,720 --> 00:34:04,580 se colocar em prática? 594 00:34:04,580 --> 00:34:10,820 >> Assim, uma API é um padrão interface com todo esse conteúdo. 595 00:34:10,820 --> 00:34:13,820 Mas para chegar lá, o primeira coisa que tinha que fazer 596 00:34:13,820 --> 00:34:17,260 foi reunir informações de livros e imagens 597 00:34:17,260 --> 00:34:21,580 e os instrumentos de descrição, a coleção documento a partir de diversos sistemas de Harvard. 598 00:34:21,580 --> 00:34:23,929 Aleph, VIA, e OASIS são os nomes dos sistemas. 599 00:34:23,929 --> 00:34:28,820 E eles essencialmente entrar em um tubagem, uma tubagem de processamento. 600 00:34:28,820 --> 00:34:33,230 >> Então, primeiro de tudo, temos de exportação ficheiros de todos estes sistemas. 601 00:34:33,230 --> 00:34:35,130 Nós dividi-los em itens individuais. 602 00:34:35,130 --> 00:34:39,360 Portanto, temos um arquivo, que é um gigabyte, que tem um milhão de discos na mesma. 603 00:34:39,360 --> 00:34:42,290 Por isso, dividi-la em itens individuais. 604 00:34:42,290 --> 00:34:45,374 Então, para cada item, vamos convertê-lo em mods, porque algumas delas 605 00:34:45,374 --> 00:34:47,040 são MODS nativamente, alguns deles não são. 606 00:34:47,040 --> 00:34:49,204 Então, nós levá-los todos para estar no mesmo formato. 607 00:34:49,204 --> 00:34:51,120 Depois, há vários etapas de enriquecimento, onde 608 00:34:51,120 --> 00:34:55,969 somarmos mais informações para os dados que estava disponível na biblioteca. 609 00:34:55,969 --> 00:34:59,750 Então, nós precisamos adicionar, em primeiro lugar nós temos o que bibliotecas segurá-la. 610 00:34:59,750 --> 00:35:02,250 Passamos por uma etapa de cálculo da stackscore. 611 00:35:02,250 --> 00:35:07,112 Passamos por mais uma etapa adicionando mais de metadados em termos 612 00:35:07,112 --> 00:35:10,730 do que coleções pessoas poderia ter acrescentado isto-- 613 00:35:10,730 --> 00:35:12,532 >> As pessoas estão criando coleções de itens. 614 00:35:12,532 --> 00:35:13,990 Que coleções ele pertence? 615 00:35:13,990 --> 00:35:17,220 Como é que as pessoas com etiquetas este conteúdo no passado? 616 00:35:17,220 --> 00:35:20,750 Então você filtrar, e você restringir os registros, porque, como já referi, 617 00:35:20,750 --> 00:35:24,120 há alguns registros que, por causa de razões de direitos autorais, não podemos exibir. 618 00:35:24,120 --> 00:35:26,700 E, depois, carregá-los em algo chamado 619 00:35:26,700 --> 00:35:31,680 Solr, que não é um erro de soletração, mas é o nome de um pedaço de software 620 00:35:31,680 --> 00:35:35,710 que faz a indexação de busca, que impulsiona toda a busca por trás da API. 621 00:35:35,710 --> 00:35:40,110 E então ele se torna disponível para API, e as pessoas podem usá-lo. 622 00:35:40,110 --> 00:35:44,640 >> Então, isso é como uma forma justa processo simples. 623 00:35:44,640 --> 00:35:47,230 Um dos interessante coisas sobre ele é 624 00:35:47,230 --> 00:35:50,990 que estamos lidando com 13 milhões de registros 625 00:35:50,990 --> 00:35:53,820 e nós vamos estar lidando ou mais. 626 00:35:53,820 --> 00:36:01,260 E nós queremos ser capazes de lidar com estes de uma forma relativamente rápida. 627 00:36:01,260 --> 00:36:03,630 Leva muito tempo para processar 13 milhões de registros. 628 00:36:03,630 --> 00:36:09,529 >> Então, como este gasoduto é estabelecer é que você can-- 629 00:36:09,529 --> 00:36:12,070 Eu acho que a vantagem do pipeline, o problema que estamos 630 00:36:12,070 --> 00:36:15,580 tentando resolver aqui, é que todas as transformações, todos 631 00:36:15,580 --> 00:36:18,729 estas etapas nesta gasoduto são separáveis. 632 00:36:18,729 --> 00:36:19,645 Não há nenhuma dependência. 633 00:36:19,645 --> 00:36:22,146 Se você está processando um registro de um livro, 634 00:36:22,146 --> 00:36:24,270 não há nenhuma dependência em que entre outro livro. 635 00:36:24,270 --> 00:36:27,760 >> Então o que podemos fazer é, basicamente, em cada passo na calha, 636 00:36:27,760 --> 00:36:30,470 vamos colocá-la em uma fila na nuvem. 637 00:36:30,470 --> 00:36:32,250 Aconteceu de eu estar na Amazon Web Services. 638 00:36:32,250 --> 00:36:35,140 Portanto, há uma lista de, dizer, 10.000 itens que 639 00:36:35,140 --> 00:36:38,100 necessita de ser normalizado e convertidos para o formato de mods. 640 00:36:38,100 --> 00:36:41,620 E nós girar tantos servidores como queremos, talvez 10 servidores. 641 00:36:41,620 --> 00:36:44,860 E cada um desses servidores apenas senta lá, olha em fila, 642 00:36:44,860 --> 00:36:46,730 vê-se que há um que precisa ser processado, puxa-lo da fila, 643 00:36:46,730 --> 00:36:48,740 processa e sticks que na próxima fila. 644 00:36:48,740 --> 00:36:54,200 >> E assim o que nos permite a fazer é aplicar, no essencial, 645 00:36:54,200 --> 00:36:58,110 tanto hardware quanto queremos este problema para um período muito curto de tempo 646 00:36:58,110 --> 00:37:02,970 para processar os dados tão rapidamente quanto possível, o que é algo que só, 647 00:37:02,970 --> 00:37:08,220 agora no mundo da computação em nuvem Nós podemos provisionar servidores essencialmente 648 00:37:08,220 --> 00:37:09,890 instantaneamente, que é útil. 649 00:37:09,890 --> 00:37:12,260 Então, não temos de ter um servidor gigante sentado ao redor 650 00:37:12,260 --> 00:37:16,700 o tempo todo para fazer o processamento que pode acontecer apenas uma vez por semana. 651 00:37:16,700 --> 00:37:21,440 >> De modo que é na maior parte dela. 652 00:37:21,440 --> 00:37:27,590 Não há documentação disponível para a API item Biblioteca Nuvem 653 00:37:27,590 --> 00:37:31,960 neste URL, que será estar disponível mais tarde. 654 00:37:31,960 --> 00:37:36,730 E por favor, vá dar uma olhada -lo para ver se há alguma coisa, 655 00:37:36,730 --> 00:37:37,579 Você tem alguma idéia. 656 00:37:37,579 --> 00:37:38,120 Jogar com ele. 657 00:37:38,120 --> 00:37:38,830 Brincar. 658 00:37:38,830 --> 00:37:42,800 E espero que você pode vir com algo grande. 659 00:37:42,800 --> 00:37:44,740 Obrigado. 660 00:37:44,740 --> 00:37:45,899