Copiar example.env
a .env
y levantar con compose
.
cp example.env .env
docker-compose up
Para ejecutar los scripts se deben instalar los paquetes en conda-env.yml
. Se puede crear un entorno virtual con esos paquetes usando conda
:
conda env create --file conda-env.yml
Lanzar el script setup_dbs
. Este requiere del archivo .env
que se utilice, y de los archivos para inicializar el repositorio de GraphDB.
python scripts/setup_dbs.py --env-file .env --graphdb-repo-init-file rdf/graphdb_init.ttl --graphdb-init-query rdf/graphdb_init_query.txt
Lanzar el script de scrapping. Este admite tres parámetros: el directorio donde guardar los ficheros, y dos fechas que definen el rango de días en el que scrapear. Por ejemplo:
python scripts/scrape.py --target-path downloads -s 2023-11-10 -e 2023-11-11
Recomendamos no descargar muchos días, especialmente de cara a la carga en ElasticSearch que requiere de embeddings costosos de calcular.
La carga de los datos en BBDD se realiza en los scripts load_mongodb
, load_elasticsearch
y load_graphdb
. Estos scripts comparten ciertos parámetros ya que requieren: archivo .env
(--env-file
), feha de inicio -s
y fecha fin -e
.
Las fechas pueden estar o no presentes: Si se incluyen los parámetros -s
y -e
, se debe señalar que se va a indicar un rango inluyendo dates
antes de estos flags. Si no se indica el rango de fechas se ha de indicar full
para procesar todos los archivos independientemente de las fechas.
Lanzar el script load_mongodb
. Además de los parámetros mencionados, este script recibe --path
indicando la ruta de los xml a insertar en MongoDB.
python scripts/load_mongodb.py --env-file .env --path downloads dates -s 2023-11-10 -e 2023-11-11
Lanzar el script load_elasticsearch
. Carga datos desde MongoDB a ElasticSearch. El script recibe también el parámetro -c
o --char-threshold
, donde se indica el tamaño mínimo del párrafo para ElasticSearch (20
por defecto).
python scripts/load_elasticsearch.py --env-file .env -c 20 dates -s 2023-11-10 -e 2023-11-11
Lanzar el script load_graphdb
. Carga datos desde MongoDB a GraphDB. Este script recibe los parámetros por defecto.
python scripts/load_graphdb.py --env-file .env dates -s 2023-11-10 -e 2023-11-11
En la carpeta working_examples
se encuentran dos notebooks con ejemplos de queries que se pueden hacer y ser de utilidad a un usuario final.