No project description provided
Project description
bib2graph
Un paquete de Python para el procesamiento de datos bibliométricos y análisis de redes.
Descripción
bib2graph es un pipeline de datos completo para el análisis bibliométrico de publicaciones científicas. Transforma datos bibliográficos en representaciones de red para análisis avanzados. El pipeline consta de tres fases principales:
-
Ingesta de Datos: Analiza y normaliza metadatos bibliográficos desde BibTeX y los carga en una base de datos de grafos Neo4j.
-
Enriquecimiento de Datos: Consulta APIs externas (Semantic Scholar, CrossRef, Scopus) para obtener metadatos adicionales como citas, referencias completas, ORCIDs de autores e información de financiamiento.
-
Extracción de Redes: Genera varias redes para análisis, incluyendo redes de co-citación, redes de colaboración entre autores, redes de colaboración institucional y redes de co-ocurrencia de palabras clave.
Arquitectura
La arquitectura del sistema consta de tres módulos principales:
-
Módulo de Ingesta de Datos (
consigue_los_articulos.py): Responsable de cargar datos desde diferentes fuentes y normalizarlos para su almacenamiento en Neo4j. -
Módulo de Enriquecimiento de Datos (
enriquecimiento.py): Consulta APIs externas para obtener metadatos adicionales y actualizar la base de datos. -
Módulo de Análisis de Redes (
analisis_red.py): Extrae diferentes tipos de redes del grafo y las exporta para análisis posterior.
Requisitos
- Python 3.12 o superior
- Base de datos Neo4j (instalación local o en la nube)
- Claves de API para servicios externos (opcional):
- API de Semantic Scholar
- API de Scopus
Instalación
Desde PyPI (Recomendado)
pip install bib2graph
Desde el Código Fuente
-
Clonar el repositorio:
git clone https://github.com/complexluise/bib2graph.git cd bib2graph
-
Instalar dependencias con Poetry:
poetry install
Configuración
Configurar variables de entorno para las claves de API y la conexión a Neo4j (opcional):
# Para Linux/macOS
export SEMANTIC_SCHOLAR_API_KEY="tu_clave_api"
export SCOPUS_API_KEY="tu_clave_api"
export NEO4J_URI="bolt://localhost:7687"
export NEO4J_USER="neo4j"
export NEO4J_PASSWORD="tu_contraseña"
# Para Windows (PowerShell)
$env:SEMANTIC_SCHOLAR_API_KEY="tu_clave_api"
$env:SCOPUS_API_KEY="tu_clave_api"
$env:NEO4J_URI="bolt://localhost:7687"
$env:NEO4J_USER="neo4j"
$env:NEO4J_PASSWORD="tu_contraseña"
Uso
El script principal proporciona una interfaz de línea de comandos para ejecutar el pipeline completo o fases individuales:
Ejecutar el pipeline completo:
bib2graph completo
Ejecutar solo la fase de ingesta de datos:
bib2graph ingestar --input data/file.bib --tipo-archivo bibtex
Ejecutar solo la fase de enriquecimiento de datos:
bib2graph enriquecer
Ejecutar solo la fase de análisis de redes:
bib2graph analizar --tipo-red cocitacion --directorio-salida results
Ejecutar en modo simulación (sin efectos en la base de datos):
bib2graph completo --simulacion
Mostrar la versión del paquete:
bib2graph --version
Opciones disponibles:
Opciones comunes:
--neo4j-uri URI de conexión a Neo4j
--neo4j-user Nombre de usuario de Neo4j
--neo4j-password Contraseña de Neo4j
--simulacion Ejecuta en modo simulación sin realizar cambios en la base de datos
Comando 'ingestar':
--input Archivo o directorio de entrada que contiene datos bibliométricos
--tipo-archivo Tipo de archivo de entrada (bibtex)
Comando 'analizar':
--tipo-red Tipo de red a extraer y analizar (cocitacion, autor, institucion, palabra_clave)
--peso-minimo Peso mínimo para relaciones en la red
--directorio-salida Directorio para archivos de salida
--algoritmo-comunidad Algoritmo a usar para detección de comunidades (louvain, label_propagation, greedy_modularity)
Comando 'completo':
--input Archivo o directorio de entrada que contiene datos bibliométricos
--tipo-archivo Tipo de archivo de entrada (bibtex)
--tipo-red Tipo de red a extraer y analizar (cocitacion, autor, institucion, palabra_clave)
--peso-minimo Peso mínimo para relaciones en la red
--directorio-salida Directorio para archivos de salida
--algoritmo-comunidad Algoritmo a usar para detección de comunidades (louvain, label_propagation, greedy_modularity)
Ejemplos
Procesar un archivo BibTeX y generar una red de co-citación:
bib2graph completo --input data/references.bib --tipo-red cocitacion --directorio-salida results
Generar una red de colaboración entre autores:
bib2graph analizar --tipo-red autor --directorio-salida results
Generar una red de co-ocurrencia de palabras clave:
bib2graph analizar --tipo-red palabra_clave --directorio-salida results
Procesar un archivo BibTeX con un peso mínimo de arista de 2:
bib2graph completo --input data/references.bib --tipo-archivo bibtex --tipo-red cocitacion --peso-minimo 2 --directorio-salida results
Crear relaciones de red sin realizar análisis:
bib2graph crear-relaciones --tipo-red cocitacion
Estructura del Proyecto
bib2graph/
├── data/ # Directorio de datos de entrada
│ └── references.bib # Archivo BibTeX de ejemplo
├── bib2graph/ # Código fuente
│ ├── __init__.py # Inicialización del paquete
│ ├── __main__.py # Punto de entrada del paquete
│ ├── cli.py # Interfaz de línea de comandos
│ ├── config.py # Configuración y constantes
│ ├── consigue_los_articulos.py # Módulo de ingesta de datos
│ ├── enriquecimiento.py # Módulo de enriquecimiento de datos
│ ├── analisis_red.py # Módulo de análisis de redes
│ ├── models.py # Modelos de datos
│ ├── queries.py # Consultas a la base de datos
│ └── main.py # Funciones principales del pipeline
├── results/ # Resultados generados
├── tests/ # Pruebas unitarias
├── pyproject.toml # Configuración de Poetry
├── .github/ # Flujos de trabajo de GitHub
│ └── workflows/ # Flujos de trabajo de CI/CD
└── README.md # Documentación
Licencia
Este proyecto está licenciado bajo la Licencia Apache 2.0 - consulte el archivo LICENSE para más detalles.
Contribuciones
¡Las contribuciones son bienvenidas! No dude en enviar un Pull Request.
Cita
Si utiliza bib2graph en su investigación, por favor cítelo como:
Higuera-Calderon, L. E. (2025). bib2graph: Un paquete de Python para el procesamiento de datos bibliométricos y análisis de redes.
https://github.com/complexluise/bib2graph
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bib2graph-0.1.1.tar.gz.
File metadata
- Download URL: bib2graph-0.1.1.tar.gz
- Upload date:
- Size: 31.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.9.5 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f0f2bc6f1a4c3be69835349b38832db0b0b74366a3c04b1a9843f258a012391
|
|
| MD5 |
9a88bd05be2b75bc2386f8d0c2c79f5a
|
|
| BLAKE2b-256 |
45aa422af57587d0b990fd4bd0420861ad721e0de6d31a04b527482567dfd519
|
File details
Details for the file bib2graph-0.1.1-py3-none-any.whl.
File metadata
- Download URL: bib2graph-0.1.1-py3-none-any.whl
- Upload date:
- Size: 35.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.9.5 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
062b9ea8264e1fcf90f69b76cc514116ebdaf810cb07e7c9b438162739563b5d
|
|
| MD5 |
cc15c3c1596b3f7634209bedb562dd89
|
|
| BLAKE2b-256 |
ef9a021d449ff618d75a0a51ae8c94d7f7832500c7971986e6c3b40628d55aa8
|