Usuario:Sandra PA18/Taller

De Wikipedia, la enciclopedia libre

Bibserver es un software de código abierto que fue desarrollado en 2011 para ejecutar BibSoup por Open Knowledge Foundation. Una herramienta que permite compartir un registro de trabajo sobre datos, es decir, colecciones de metadatos bibliográficos creando una red de conocimientos de todo el mundo en la que todos los datos se encuentran disponibles a través de BibJSON. Permite crear y gestionar colecciones bibliográficas, importar y exportar colecciones desde múltiples formatos bibliográficos como bibtex, MARC, RIS, BibJSON, RDF entre otros, navegar por las colecciones que se encuentran en la interfaz, insertar en sitios web el navegador de colecciones, Api de REST que se adapta a los tipos de sintaxis o plataformas con las que se trabaje, además de ser una herramienta de código abierto y uso gratuito.
[1]

Logo de BibServer



Historia[editar]

Bibserver cuenta con un servidor de datos bibliográficos creado por Jim Pitman entre 2003 y 2011 y que se encuentra desarrollado y mantenido por Python Software Foundation. Este proyecto comenzó a desarrollarse para promover la práctica de bibliografía abierta en la web. Por otra parte los hábitos en el formato de entrada permiten que se pueda acceder al texto completo en archivos como ArXiv o PubMed así como en las revistas electrónicas y páginas de inicio de los autores así como proporcionar enlaces a artículos y citas relacionados utilizando Google Scholar. BibServer puede cargar su colección bibliográfica desde herramientas de administración como Zotero mediante la lectura de formatos típicos como Bibtex.
[2]

Características[editar]

BibServer permite crear una presentación de datos bibliográficos en diversos formatos además de llevar a cabo una gestión bibliográfica a partir de un conjunto de herramientas como Zotero, Bibsonomy, o Mendeley. También permite compartir las colecciones creadas a través de la lectura de formatos como Bibtext y de herramientas de administración, además de la navegación y búsqueda facetada a través de registros y filtrados en la propia colección creada en Bibserver.

Bibserver ofrece al usuario estadísticas y gráficas estadísticas para que este conozca el nivel actividad seguido a través de la opción de “visualización”, está opción crea un gráfico de barras basado en un valor de filtro predeterminado y crea una estadística de uso en función a ello. Ofrece mejorar la colección a través de detecciones rápida de errores en los registros de la colección, permitiendo exportarla y mejorarla, se prevé en un futuro permitir editar directamente en el software sin necesidad de exportar la colección.

La colección creada en BibServer puede referenciarse en páginas web creadas en la Web gracias a la API REST completa que permite la consulta de las colecciones propias devolviendo cada página a través de JSON agregando .json o & format = json para los parámetros URL. Los formatos JSON permiten exportar y utilizar las colecciones en otro lugar de Internet, BibJSON permite las citas abiertas y se prevé actualizaciones en bibjson.org que capaciten la especificación de procedencia en un registro de bibjson. BibJSON permite crear colecciones de datos bibliográficos generalizados y flexibles que permiten la capacidad de manejo de datos vinculados procedentes de múltiples fuentes; para campos complejos, permite la representación de éstos datos como una lista de objetos para campos comunes y para otros.

Por otra parte los hábitos en el formato de entrada permiten que se pueda acceder al texto completo en archivos como ArXiv o Pubmed así como en las revistas electrónicas y páginas de inicio de los autores así como proporcionar enlaces a artículos y citas relacionados utilizando Google Scholar. BibServer puede cargar la colección desde herramientas como Zotero mediante la lectura de formatos típicos como Bibtex.[3]

Esquema de arquitectura BibServer

La estructura de datos[editar]

Los datos almacenados en BibServer como BibJSON serán una colección de registros bibliográficos vinculados que describen artículos. Junto con cada registro se almacenan como datos anidados y se producirá una lista de citas coincidentes, una lista de citas no coincidentes y una lista de autores. Los autores no serán almacenados como entidades separadas.


Instalación y funcionamiento[editar]

Bibserver es un software disponible gratuitamente mediante el que el usuario puede crear una prestación propia mediante herramientas combinadas por códigos abiertos que proporciona las funcionalidades que ofrece Bibserver.

Bibserver se ejecuta en cualquier servidor con sistema operativo Ubunt Linux, Windows y Mac; requiere de Java 1.5 o superior debido a los servicios de indexación del software que utiliza Apache Lucene. Para que Bibserver funcione, es necesario Python ya que el código del núcleo de programación del software está escrito mediante este código fuente de Python.

Para descargar el software el usuario debe clonar el repositorio Bibserver y posteriormente ejecutarlo, para ello debe comprobar el archivo config.json proviene de la ubicación elasticsearch. Una vez hecho esto, tras ejecutar Bibserver, el software creará automáticamente una base de datos elasticsearch y se completará automáticamente con las asignaciones correspondientes del archivo de configuración. En la carpeta origen que el usuario ha descargado de bibserver, se incluye archivo README que contiene las instrucciones que el usuario deberá seguir y posteriormente ejecutar “Python bibserver / web.py”

Utiliza un código personalizado junto con un grupo de herramientas combinadas para proporcionar funcionalidades. Todas las herramientas de BibServer son de código abierto, disponibles de forma gratuita. Permite referenciar los documentos y editar las diferentes versiones.[4]

Requisitos[editar]

Precisa de una computadora para ejecutarlo y un sistema operativo.

  • BibServer se ejecuta en un servidor antiguo de 3 x 3.0 gHz con 2GB de RAM.
  • Permite ejecutarse sobre Ubuntu Linux Windows y Mac.
  • Java 1.5 o superior. Los sistemas de indexación utilizan Apache Lucene y precisa Java actualizado.
  • Python. BibServer utiliza código de Python (instalada en Linux por defecto)
  • Elasticsearch. Utiliza motores de indexación para encontrar todos los datos colocados en un índice.

Instalación[editar]

Se deben seguir las recomendaciones de instalación del software de BibServer

  1. Descarga del software
  2. Seguimiento de las instrucciones para la instalación
  3. Acceder al repositorio en git (http://git-scm.com/) para clonar el repositorio o descargar una copia para descomprimirla
  4. Ejecutar el programa. Comprobación de la correcta instalación y funcionamiento
  5. Comprobar que el archivo config.json se encuentra en la ubicación correcta de elasticsearch. Comprobar la denominación dada a la base de datos de elasticsearch. Cuando se ejecute BibServer por primera vez se creará la base de datos y se envían las asignaciones en el archivo de configuración
  6. Asegurarse de que elasticsearch se encuentre encendido.
  7. Seguir las instrucciones del archivo README en la carpeta de descarga del repositorio de BibServer
  8. Al finalizar el paso anterior, ejecutar” python bibserver/web.py”. BibServer debería . comenzar a ejecutarse.
  9. Se puede encontrar BibServer en el servidor local en el puerto 5000 a través de comandos o mediante el navegador.

En caso de que el puerto 5000 se encuentre ocupado, detener lo que se esté ejecutando allí o especificar otro puerto en el comando al final de bibserver/web.py – (véase http://flask.pocoo.org/ para más información).

Ejecución de BibServer en línea[editar]

Para que funcione BibServer en línea, se precisa un nombre de dominio configurado y asignarle un servidor web favorito al web.py que se ejecute. Se utiliza nginx (http://nginx.org/), aunque se puede utilizar Apache o similar.

Funcionamiento[editar]

Bibserver permite:

  • Crear una colección: para introducir una colección en Bibserver se admire la carga Url de archivos bibtex, csv, y json, que automáticamente se convierten a BibJSON y se almacenarán en el índice Bibserver.
  • Crear un nuevo analizador: se ha desarrollado principalmente el analizador bibtexparser.py, pero es posible construir más analizadores:
  1. iniciando una secuencia de comandos con las importaciones, nombre de clase, y función de inicio del analizador que se va a crear (script de analizador)
  2. Incluir un método de análisis que reciba objetos de archivo y que sea capaz de devolver una lista de objetos BibJOSN que representen cada registro de la colección.
  3. El método de análisis que va a emplear el analizador creado va a seguir un método parse que analiza el objeto de archivo extrayendo los registros y pasándolos uno a uno individualmente a método parse_record.
  4. El analizador finalmente srá capaz de sanear los datos de entrada, cambio de formato de claves para que estas cumplan con los requisitos de BibJSON, converisones de látiex a Unicode.[5]
  • Editar la colección: es posible editar y administrar una colección externamente a Bibserver.
  • Obtener registros de bibserver:
  1. A través de Bibserver:
  2. Solicitando JSON en la URL: simplemente agregando .json, o .bibjson a la URL visualizada
  3. Solicitando JSON como parámetros de consulta: agregando “&format=json” en caso de tener anteriormente un parámetro de consulta, en caso de no tenerlo es debido agregar ¿format=json
  4. Por negociación de contenido: especificando JSON como formato favorito en el encabezado de solicitud
  5. Directamente desde el índice API: https://www.python.org/

Problemas de licencia[editar]

Bibserver es de código abierto y se basa en otros paquetes de código abierto, para utilizarlo no obstante se deben mencionar los principios de bibliografía abierta así como también se puede consultar la página de documentos de bibjson. Se pueden adjuntar las licencias a las colecciones también. Por lo general, el dominio público / acceso abierto debe tener licencia como tal.[6]

Creación de colección[editar]

Se pueden realizar las siguientes funciones para crear una colección.[7]

1. Crear una colección[editar]

Se puede crear una colección de la forma que se prefiera. Lo importante es tener en cuenta cómo se introduce la colección en BibServer. Admite la carga desde URL o desde PC con archivos en formato bibtex, csv y json. Estos se convierten a BibJSON cuando sea necesario y se almacenan en el índice de BibServer. Una vez cargado se puede acceder a la colección mediante la URL que se proporciona y actualizarla recargando desde el archivo de la colección ya existente. Eventualmente permite buscar registros en BibServer y crear una nueva colección a partir de estas, pero la esta funcionalidad todavía está por desarrollar.

2. Crear una noticia de periódico[editar]

Es posible escribir un “parser” propio para instalarlo en BibServer enviándolo al repositorio de software de BibServer para que sea incluido. BibServer, en su repositorio pone a disposición del usuario los diferentes “parsers” que han sido incluidos.

3. Editar la colección[editar]

El enfoque de BibServer es mostrar colecciones. La función de crear una colección, o administrar el acceso a una colección, se puede lograr a través de métodos externos al sitio. Por ejemplo, si la colección se encuentra en un archivo BibTex, simplemente hay que editarlo como se considere oportuno y cargar el archivo cada vez que se realicen cambios. Con esto se puede controlar el proceso de edición y acceso a ese archivo. Eventualmente, se puede habilitar la creación y edición de colecciones directamente en BibServer pero no cuenta con dicha funcionalidad.[8]

4. Obtener registros de bibserver[editar]

Existen varias formas de buscar y extraer registros de BibServer:

  • A través de la interfaz

En primer lugar, a través de la interfaz web, que permite una búsqueda fácil para personas que desean encontrar nuevos registros o crear y ver colecciones para obtener los registros en un formato útil navegando por la colección y con la opción “download this collection” de la parte inferior a la izquierda. También es posible solicitar JSON directamente desde ésta.

  • Solicitándolo como formato JSON en la URL

Desde cualquier página de resultados de búsqueda en el frontend o desde cualquier página de un registro específico, se puede solicitar el contenido en formato JSON, especialmente como BibJSON. Para ello hay que agregar .json o .bibjson a la URL que se está viendo, teniendo en cuenta los parámetros de la consulta.

  • Solicitando JSON como un parámetro de consulta

Desde cualquier página de resultados de búsqueda en el frontend, o desde cualquier página de un registro específico, se puede solicitar el contenido como JSON agregando un parámetro de consulta “format = json”. Pero hay que tener en cuenta los parámetros de consulta, que deben estar separados por “&”. También hay que tener en cuenta que, si aún no hay ningún parámetro de consulta ejecutado, primero se ha de agregar un “?” al final de la URL

  • Por negociación del contenido

Todavía no se encuentra activo. A pesar de todo, el método anteriormente mencionado de agregar la URL con .json o .bibjson se puede evitar cuando se solicita contenido mediante programación, mediante la negociación de contenido. Simplemente hay que especificar JSON como formato preferido en el encabezado de la solicitud.

  • Directamente desde el índice API

También se puede consultar directamente desde el índice elasticsearch API. (Ver el ejemplo del índice de elasticsearch)[9]

Cuando se realizan estas consultas el objeto de resultado será un JSON y contendrá algunos metadatos de elasticsearch y sus registros.

En Python, se puede hacer que cada registro encontrado para la búsqueda aparezca en una lista.

5. Administrar colecciones[editar]

Para administrar la edición, gestión, actualización, etc. de la colección se puede hacer mediante el control de archivo fuente usado para construir la colección. Posteriormente, cada vez que el archivo origen se cargue en BibServer, la última versión estará disponible en el sitio. Por ejemplo, si la colección se encuentra en un archivo BibTex, simplemente se necesita un control sobre las personas que pueden editar ese archivo, de manera que mejor se adapte al entorno actual. Una segunda opción, más compleja es si se desea administrar una colección en colaboración. Para ello deberá de llevarse un control de versiones distribuidas. Un ejemplo es el que funciona desde el repositorio utilizado para desarrollar BibServer:

  • Abrir una cuenta
  • Iniciar un nuevo proyecto público
  • Lectura de tutoriales de cómo crear una copia local del proyecto y arranque de cambios
  • Dar acceso a lectura y edición del repositorio personas que deseen colaborar en el desarrollo del proyecto.
  • Subir archivo bibtex (o bibjson) en el repositorio manteniéndolo actualizado
  • Uso de la URL proporcionada por github del contenido del archivo sin procesar como la URL de origen para descargarla de BibServer
  • Visualización de la colección y gestión por el administrador

Es posible que en un futuro se pueda habilitar la administración de colecciones directamente a través de BibServer, pero se considera secundaria por ahora. En Estos momentos se encuentran interesados en centrar su objetivo en proporcionar visualizaciones facetadas de colecciones útiles y en dejar la administración a otras herramientas.

6. Ejecutar la colección en Amazón[editar]

Ahora es posible ejecutar instantáneamente un BibServer en Amazon EC2; siendo poseedor de una cuenta y conociendo su interfaz, Amazon EC2 permite ejecutar la máquina con AMI (Ami-4df9c639)

Una vez en funcionamiento, permite señalar las formas habituales de uso en EC2, que pronto será actualizado para las capturas de pantalla, etc.

7. Actualización de colecciones[editar]

Una vez iniciada la sesión, es necesario enviar una CLAVE API agregando api_key = MYAPIKEY en la búsqueda. Para localizar la clave API en la página de usuario se encuentra disponible en bibsoup.net añadiendo la extensión /acount/username. A través de la interfaz de carga de BibServer se puede acceder a los registros cargados en la interfaz. BibServer tiene parsers que convierten formatos de bibtex y csv a bibjson, pero también admite directamente los formatos bibjson. Para cargar a través del formulario, debe hacerse desde la página de “carga” de BibServer proporcionando la URL del archivo y asignándole un nombre a la colección. En caso de que el sistema no detectaste automáticamente el formato se puede configurar previamente antes de cargar el archivo. El formato de los archivos se selecciona de forma predeterminada como bibtex. Para actualizar la colección se sigue el mismo proceso de reenvío y carga a la URL. En el caso de desarrollarse do forma colaborativa se utilizaran los mismos comandos, disponibles en el archivo README del repositorio del software.

8. Carga de colecciones[editar]

Cuando una instancia de bibserver está configurada para permitir cargas, es posible cargar desde una URL de origen o un archivo desde una PC a la instancia a través de la página / upload. El típico Bibserver admite la carga de los analizadores que están disponibles y ejecutarse de forma independiente o también se pueden escribir de nuevo a través de la página de documentación de los analizadores, desde GitHub se puede ver como referencia "parsers".[10]

Página de subida[editar]

Para subirse debe que ir a la página de subir y proporcionar una URL o archivo, un nombre de colección y una descripción, confirmar la licencia y el tipo de formato. Se le puede dar al formulario de carga una URL desde la cual Bibserver recuperará los datos para importar, o un usuario puede cargar un archivo desde su ordenador personal para ser importado. Bibserver intenta adivinar el formato de la URL que se le ha suministrado mirando la extensión del nombre de archivo de la URL provista. Si no se puede adivinar el formato de archivo, se muestra una lista de formatos de archivo compatibles para esa instalación de Bibserver. Si un convertidor del formato correcto no está disponible, su archivo de origen se puede convertir en otro lugar a JSON siguiendo el estándar bibJSON, entonces el archivo JSON se puede importar directamente. [11]

Subir desde otros servicios en línea[editar]

Existen ejemplos para proporcionar una URL para cargar directamente otras fuentes y que se encuentran en línea como bibsonomy. También existen los tickes de seguimiento, las cuales explican la página de entrada y la información que se puede obtener allí.[12]

Viendo una colección cargada[editar]

En la carga, se hace una versión ordenada del nombre de la colección para la URL. Una vez que se ha cargado una colección, se puede encontrar desde la ruta: / username / collection.[13]

Múltiples archivos a la misma colección[editar]

Confirma lo que sucede cuando se cargan archivos múltiples de contenido diferente al mismo nombre de colección.[14]

Sobrescribir registros e identificadores internos[editar]

Se tiene que mencionar el método por el cual se asignan las ID internas y cómo se pueden sobrescribir los registros si se realiza una carga de registros que son algo idénticos a los registros actuales.
[15]

La API web[editar]

Los puntos finales de la API se pueden consultar a través de un navegador web (que por defecto proporciona salida HTML) o mediante programación a través de solicitudes, por ejemplo, a través de cURL.Las solicitudes de acceso a los datos funcionan de forma normal, sin embargo, aquellas que precisen insertar datos requieren una autenticación la cual se consigue a través de las API. Cada cuenta de usuario tiene asignada una que se puede recuperar de la página a través del nombre de usuario, posteriormente se le puede proporcionar un parámetro para cualquier solicitud que intente enviar datos al sistema como por ejemplo una solicitud al punto final/unload.

Cada punto extremo puede devolver HTML o JSON; JSON se puede solicitar agregando .json a la parte de la URL, agregando format = json a los parámetros de la URL, o configurando los encabezados de "aceptar" en su solicitud a "application / json". [16]

Herramientas similares[editar]

Cuando BibServer se desarrolló fue una de las pocas opciones para que los académicos tuvieran pantallas html adecuadas de sus datos bibliográficos. Había poca conciencia entonces del valor de aplicar estándares web modernos para la creación y el mantenimiento de almacenes y pantallas de datos bibliográficos personales. Ahora hay una variedad de herramientas de gestión de datos bibliográficos personales que son más o menos compatibles con BibServer como herramienta de visualización de datos bibliográficos y que sirven a algunos de sus propósitos. Algunas de estas herramientas son:

  • Zotero es un gestor de referencias bibliográficas de acceso libre, abierto y gratuito que ayuda a recopilar, organizar, analizar la investigación y compartir de múltiples maneras. Tiene la capacidad de almacenar el autor, el Zotero, los campos de publicación y exportar toda esa información como referencias formateadas. Organiza las referencias, las etiqueta y permite búsquedas avanzadas. Interactúa perfectamente con los recursos en línea. Es capaz de extraer y guardar automáticamente las referencias bibliográficas completas.
  • CiteUlike es un servicio web que permite a los usuarios guardar y compartir citas en documentos académicos. Se basa en los marcadores sociales para desarrollar el intercambio de referencias científicas entre los investigadores. Se creó en 2004 por Richard Cameron.
  • Mendeley es un gestor de referencias bibliográficas producido por Elsevier para administrar y compartir documentos de investigación. Es una aplicación gratuita que fue fundada en 2007 por tres estudiantes alemanes de doctorado. Es compatible Windows, Mac Os y Linux.
  • RefWorks es un software de gestor de referencias bibliográficas producido por RefWorks-COS fundado en 2001.
  • Bibsoup: BibSoup es una aplicación web que permite a los usuarios las búsquedas, la gestión y la compartición de bibliografías. Una vez que se da de alta, se obtieneuna API por la cual envialos datos a través de terceros servicios que esperan estar disponibles.[17]

Referencias[editar]

  1. «Bibserver» (en inglés). 2011. Consultado el 16 de enero de 2019. 
  2. Pitman, Jim. «BibServer: a bibliographic data server» (en inglés). Consultado el 14 de enero de 2019. 
  3. «Features» (en inglés). 2011. Consultado el 16 de enero de 2019. 
  4. «Install your own» (en inglés). 2011. Consultado el 16 de enero de 2019. 
  5. «Create a new parser» (en inglés). 2011. Consultado el 14 de enero de 2019. 
  6. «Licencia MIT». 2011. Consultado el 14 de enero de 2019. 
  7. «Create a collection» (en inglés). 2011. Consultado el 16 de enero de 2019. 
  8. «Edit your collection» (en inglés). 2011. Consultado el 14 de enero de 2019. 
  9. «Get records out of BibServer» (en inglés). 2011. Consultado el 14 de enero de 2019. 
  10. «Uploading collections» (en inglés). 2012. Consultado el 16 de enero de 2019. 
  11. MacGillivray, Mark; Posthumus, Etienne (11-06-2012). «The upload page» (en inglés). Consultado el 16 de enero de 2019. 
  12. MacGillivray, Mark; Posthumus, Etienne (11-06-2012). «Upload from other online services» (en inglés). Consultado el 16 de enero de 2019. 
  13. MacGillivray, Mark; Posthumus, Etienne (11-06-2012). «Upload from other online services» (en inglés). Consultado el 16 de enero de 2019. 
  14. MacGillivray, Mark; Posthumus, Etienne (11-06-2012). «Multiple files to same collection» (en inglés). Consultado el 16 de enero de 2019. 
  15. MacGillivray, Mark; Posthumus, Etienne (11-06-2012). «Overwriting records and internal IDs» (en inglés). Consultado el 16 de enero de 2019. 
  16. MacGillivray, Mark (08-06-2012). «Programmatic access» (en inglés). Consultado el 16 de enero de 2019. 
  17. Marquina, Julián (25 de febrero de 2016). «10 gestores de referencias bibliográficas a tener en cuenta para tus trabajos». Consultado el 16 de enero de 2019. 

Bibliografía[editar]

GITHUB, 2011. BibServer [en línea]. S.l.: s.n. Disponible en: https://github.com/okfn/bibserver

JONES, R., MACGILLIVRAY, M., MURRAY-RUST, P., PITMAN, J., SEFTON, P., O’STEEN, B. y WAITES, W., 2011. Open Bibliography for Science, Technology, and Medicine. Journal of Cheminformatics [en línea], vol. 3, no. 1, pp. 47. [Consulta: 9 enero 2019]. ISSN 1758-2946. DOI 10.1186/1758-2946-3-47. Disponible en: http://jcheminf.springeropen.com/articles/10.1186/1758-2946-3-47

JONES, R., 2013. Open Citations Corpus Import Process [en línea]. S.l.: Wordpress. [Consulta: 12 diciembre 2018]. Disponible en: https://opencitations.wordpress.com/2013/03/06/open-citations-corpus-import-process/

MACGILLIVRAY, M., 2013. A revamp of bibserver and bibsoup [en línea]. S.l.: www.openbiblio.net. [Consulta: 12 diciembre 2018]. Disponible en: http://openbiblio.net/2013/01/11/a-revamp-of-bibserver-and-bibsoup/index.html#comment-143727

OPEN KNOWLEDGE FOUNDATION, 2011. BibServer. [en línea]. [Consulta: 16 enero 2019]. Disponible en: https://bibserver.okfn.org/

PYTHON SOFTWARE FOUNDATION, 2019. Python. [en línea]. [Consulta: 16 enero 2019]. Disponible en: https://www.python.org/

SHOTTON, D., 2013. Open Citations developments [en línea]. S.l.: Wordpress. [Consulta: 12 diciembre 2018]. Disponible en: https://opencitations.wordpress.com/2013/01/04/open-citations-developments/

SORLI ROJO, Á. y MERLO VEGA, J.A., 2000. Bibliotecas Digitales (I): colecciones de libros de acceso público. Revista Española de Documentación Científica [en línea], vol. 23, no. 1, pp. 91-103. [Consulta: 30 noviembre 2018]. Disponible en: http://digital.csic.es/bitstream/10261/9468/1/redcbd1.pdf

TRAMULLAS SAZ, J., 2012. BibServer, soft libre para crear un servidor de bibliografías – tramullas.com. Tramullas.com [en línea]. [Consulta: 20 diciembre 2018]. Disponible en: https://tramullas.com/bibserver-soft-libre-para-crear-un-servidor-de-bibliografias/

TRAMULLAS SAZ, J., 2010. Datos bibliográficos libres. [en línea]. [Consulta: 14 enero 2019]. Disponible en: https://tramullas.com/datos-bibliograficos-libres/