Tesauro¶
Introducción¶
Un tesauro es un vocabulario estructurado que se utiliza para administrar y estandarizar palabras clave (también conocidas como etiquetas) que describen recursos.Ayuda a mejorar la calidad, la capacidad de búsqueda y la interoperabilidad de los metadatos al hacer cumplir vocabularios controlados.
Funciones clave¶
- Vocabulario controlado
En lugar de palabras clave de texto libre, los tesauros ofrecen términos predefinidos y estandarizados** organizados temáticamente (por ejemplo, temas ISO 19115, GEMET, temas INSPIRE).
- Consistencia semántica
Los usuarios que etiquetan conjuntos de datos pueden elegir entre una lista consistente de términos, reduciendo la redundancia y la ambigüedad (por ejemplo, evitando «carreteras» y «carretera» como etiquetas separadas).
- Búsqueda y filtrado mejorados
Los tesauros permiten el etiquetado estructurado de conjuntos de datos, lo que permite búsquedas más precisas y el uso de filtros facetados para limitar fácilmente los resultados.
- Localización
Cada concepto en un diccionario de sinónimos puede tener traducciones para diferentes idiomas, lo que permite una visualización localizada según el idioma de la interfaz del usuario.
- Integración de estándares de metadatos
Los tesauros pueden alinearse con estándares internacionales (como ISO, INSPIRE, GEMET), lo cual es especialmente importante cuando GeoNode se utiliza en contextos institucionales o gubernamentales.
Modelo de datos¶
El modelo de tesauro GeoNode está diseñado para admitir vocabularios estructurados y multilingües.Consta de los siguientes componentes clave:
- Tesauro:
Representa un vocabulario completamente controlado (por ejemplo, temas GEMET, INSPIRE).
En términos de SKOS, es un
skos:ConceptScheme.
- Etiqueta del diccionario de sinónimos:
Almacena los nombres localizados (títulos/descripciones) de un diccionario de sinónimos para diferentes idiomas.
En términos de SKOS, es un
skos:preflabeldentro deskos:ConceptScheme.
- TesauroPalabra clave:
Representa un único concepto o término dentro de un tesauro (por ejemplo, «Cobertura terrestre», «Transporte») y también almacena la etiqueta predeterminada (utilizada cuando la traducción para un idioma solicitado determinado no está definida) y su URI de identificación.
En términos de SKOS, es un
skos:Concept.
- Etiqueta de palabra clave del diccionario de sinónimos:
Almacena las etiquetas multilingües para cada palabra clave.
In SKOS terms, it’s a
skos:preflabelwithin theskos:Concept.
Agregar un diccionario de sinónimos¶
Se puede agregar un diccionario de sinónimos en Geonode mediante:
creando una nueva instancia de diccionario de sinónimos dentro de las páginas de administración de GeoNode.Como mínimo, necesitas:
add a thesaurus in admin / base / Thesaurus
agregue una o más instancias de palabras clave en admin/base/ThesaurusKeywords
uploading a RDF file (either xml, ttl, jsonld or any other format recognized by RDFlib). When uploading a file, the behaviour is the same as running the command
thesaurus load --action update(see Importando un diccionario de sinónimos: carga de diccionario de sinónimos)cargar un archivo RDF usando el comando de administración thesaurus load (ver Importando un diccionario de sinónimos: carga de diccionario de sinónimos).
Subir a través del panel de administración¶
Navegue a la página del diccionario de sinónimos en el panel de administración http://<your_geonode_host>/admin/base/thesaurus.En la parte superior derecha de la página estará disponible un botón llamado Subir diccionario de sinónimos:
Después de hacer clic en él, se mostrará un formulario simple para cargar que le permitirá seleccionar el archivo RDF que desee:
Al hacer clic en Cargar RDF, el sistema cargará el diccionario de sinónimos y le asignará un nombre «slugificado» basado en el nombre del archivo.El nombre se puede cambiar fácilmente más adelante en la página de edición.
If everything goes fine, a success message will be shown:
De lo contrario, la interfaz de usuario mostrará el mensaje de error:
Comandos de gestión¶
GeoNode proporciona un único comando («tesauro») con múltiples acciones:
list: lista los tesauros existentescargar: carga un archivo RDFdump: volcar un diccionario de sinónimos en un archivo
python manage.py thesaurus --help
usage: manage.py thesaurus [-h] [-i [IDENTIFIER]] [-f [FILE]] [--action {create,update,append,parse}] [-o [OUT]]
[--include INCLUDE] [--exclude EXCLUDE]
[--format {json-ld,n3,nt,pretty-xml,sorted-xml,trig,ttl,xml}] [--default-lang LANG] [--version]
[-v {0,1,2,3}] [--settings SETTINGS] [--pythonpath PYTHONPATH] [--traceback] [--no-color]
[--force-color] [--skip-checks]
[{list,load,dump}]
Handles thesaurus commands ['list', 'load', 'dump']
positional arguments:
{list,load,dump} thesaurus operation to run
options:
-h, --help show this help message and exit
--version Show program's version number and exit.
-v {0,1,2,3}, --verbosity {0,1,2,3}
Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output
--settings SETTINGS The Python path to a settings module, e.g. "myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be used.
--pythonpath PYTHONPATH
A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".
--traceback Raise on CommandError exceptions.
--no-color Don't colorize the command output.
--force-color Force colorization of the command output.
--skip-checks Skip system checks.
Common params:
-i [IDENTIFIER], --identifier [IDENTIFIER]
Thesaurus identifier. Dump: required. Load: optional - if omitted will be created out of the filename
Params for "load" subcommand:
-f [FILE], --file [FILE]
Full path to a thesaurus in RDF format
--action {create,update,append,parse}
Actions to run upon data loading (default: create)
Params for "dump" subcommand:
-o [OUT], --out [OUT]
Full path to the output file to be created
--include INCLUDE Inclusion filter (wildcard is * as suffix or prefix); can be repeated
--exclude EXCLUDE Exclusion filter (wildcard is * as suffix or prefix); can be repeated
--format {json-ld,n3,nt,pretty-xml,sorted-xml,trig,ttl,xml}
Format string supported by rdflib, or sorted-xml (default: sorted-xml)
--default-lang LANG Default language code for untagged string literals (default: None)
Lista de tesauros: thesaurus list¶
Obtenga la lista de tesauros en GeoNode.
Útil para encontrar ID de los tesauros cuando necesite exportar uno de ellos.
Importando un diccionario de sinónimos: carga de diccionario de sinónimos¶
El comando cargar puede crear un diccionario de sinónimos completo o simplemente actualizar parte del mismo.
Parámetros permitidos:
archivo: archivo a cargar;requeridoaction:create,update,append,parse; optional, defaultcreate;identificador: la identificación del tesauro;Opcional, el valor predeterminado es un nombre creado usando el nombre del archivo.
La creación automática del identificador omite todos los caracteres después del primer punto para permitir una partición del diccionario de sinónimos.
Por ejemplo, podemos tener diferentes archivos rdf que contienen las etiquetas para múltiples proyectos, por ejemplo: labels-i18n.proj1.rdf, labels-i18n.proj2.rdf… Podemos simplemente hacer un bucle en los nombres de los archivos y ejecutar el subcomando load en cada uno de ellos, y todas las palabras clave se agregarán al mismo diccionario de sinónimos con ID.``etiquetas-i18n``.
El comando load tiene diferentes comportamientos según el parámetro action:
Comportamiento:
analizar:analiza el archivo y repite todos los conceptos sin escribir nada en la base de datos.Es equivalente a la opción clásica de
ensayo;
crear(acción predeterminada):intenta crear un diccionario de sinónimos.Si el diccionario de sinónimos ya existe, genera una excepción.
añadir:crea entradas si no existen;pk son los que aparecen en la acción de actualización.Si la entrada ya existe, no se modifica de ninguna manera.
actualización:crea y actualiza entradas:
Tesauro: lo crea si no existe, pk es «identificador».Si existen actualizaciones «fecha», «descripción», «título», «acerca de»
ThesaurusLabel: lo crea si no existe, pk es «thesaurus», «lang» Si existe actualiza «value»
ThesaurusKeyword: lo crea si no existe, pk es «thesaurus», «about» Si existe actualiza «alt_label»
ThesaurusKeywordlabel: lo crea si no existe, pk es «thesauruskeyword», «lang» Si existe actualiza «label»
Exportación de un diccionario de sinónimos: volcado de diccionario de sinónimos¶
El comando dump puede exportar un diccionario de sinónimos completo o sólo una parte del mismo.
Parámetros permitidos:
identificador: la identificación del tesauro;requerido.incluir: Opcional;filtrar las palabras clave del diccionario de sinónimos que se van a volcar.Se puede repetir.El filtrado se aplica en el campo «acerca de».Los filtros tienen el formato *cadena o cadena*excluir: Opcional;como «incluir», pero filtra las palabras clave del diccionario de sinónimos para que no se descarguen.format: opcional, formato RDF para la salida (json-ld,n3,nt,pretty-xml,sorted-xml,trig,ttl,xml).Predeterminadoxml ordenadodefault-lang: código de idioma predeterminado para literales de cadena sin etiquetar;el valor predeterminado essettings.THESAURUS_DEFAULT_LANGout: Ruta completa al archivo de salida que se creará.Opcional;si se omite, el contenido RDF se envía a stderr.
Formato¶
Todos los formatos, excepto sorted-xml, utilizan la biblioteca RDFlib para serializar los datos del diccionario de sinónimos.Dado que RDFlib maneja los conceptos como un gráfico, no hay ningún orden en los datos de salida.Esto significa que dos «volcados» consecutivos del mismo diccionario de sinónimos pueden crear dos archivos diferentes.
Al importar y exportar tesauros como un archivo, puede resultar útil realizar diferencias en ellos para descubrir qué ha cambiado.El formato sorted-xml crea una salida predecible, donde ConceptScheme está al inicio del archivo y los conceptos se ordenan por su campo about.Además, los prefLabel están ordenados por su atributo lang.
Exportación parcial¶
El comando dump también permite exportar un subconjunto de palabras clave (conceptos) en un Tesauro.
Como ejemplo, digamos que tenemos el tesauro labels-i18n, que contiene algunas etiquetas oficiales de GeoNode.
En nuestro proyecto agregamos algunas palabras clave con el prefijo «proj1_», ya que pertenecen al proyecto1.
También en nuestra instancia de GeoNode, agregamos algunas etiquetas que anulan las estándar y tienen el posfijo _ovr.
Para exportar solo las entradas que editamos, emitiremos el comando:
python manage.py thesaurus dump -i labels-i18n --include "proj1_*" --include "*_ovr" -f labels-i18n.proj1.rdf
Configurar un diccionario de sinónimos¶
Después de cargar o crear un diccionario de sinónimos en GeoNode, se debe configurar en el panel Admin.
Se puede acceder al panel desde el enlace Admin del Menú de Usuario en la barra de navegación o a través de esta URL: http://<your_geonode_host>/admin/base/thesaurus.
Una vez que esté en las listas de sinónimos, seleccione un diccionario de sinónimos para abrir la página Editar.
La interfaz de edición del Tesauro GeoNode¶
Estos son los principales atributos del tesauro:
identificador: (obligatorio) el identificador del tesauro (establecido por el parámetro--identifieren el comandocarga del tesauro, o generado automáticamente usando el nombre del archivo).título: (obligatorio) El título predeterminado del diccionario de sinónimos (se puede configurar desde el archivo RDF cargado).fecha: (obligatorio) La fecha del tesauro (puede establecerse desde el archivo RDF cargado).descripción: (obligatorio) La descripción del diccionario de sinónimos (se puede configurar desde el archivo RDF cargado).slug: (en desuso, useidentifieren su lugar) El slug del diccionario de sinónimos.about: (opcional) El URIrdf:aboutdel diccionario de sinónimos (puede configurarse desde el archivo RDF cargado).
Los siguientes atributos definen cómo se utilizará el diccionario de sinónimos dentro de GeoNode.
card min: (opcional) La cardinalidad mínima, predeterminado = 0card max: (opcional) La cardinalidad máxima, predeterminada = -1 (sin límite)faceta: (booleano) Decida si el diccionario de sinónimos se mostrará en la lista de facetas, predeterminado: Verdadero. Se establecerá enverdadero` sólo cuando ``card_max!= 0orden: (entero) Establece el orden de listado del diccionario de sinónimos en la lista de facetas y en el editor de metadatos, predeterminado: 0, orden asc de 0 a N
Si card max no es cero, el editor de metadatos mostrará automáticamente el Tesauro en la lista de términos controlados.Más precisamente estos son los casos según los dos campos de cardinalidad:
card_max=0 –> Deshabilitado, el diccionario de sinónimos no aparecerá en la GUI
card_max=1 & card_min = 0 –> Elección única, opcional.
card_max=1 & card_min = 1 –> Opción única, obligatoria
card_max=-1 & card_min = 0 –> [0..N] Múltiples opciones, opcional
card_max=-1 & card_min = 1 –> [1..N] Múltiples opciones, requeridas
El editor de metadatos mostrará todos los tesauros con card_max != 0, cada uno con su propio título, como en la siguiente imagen:
La interfaz de metadatos con el Tesauro habilitado¶
Los tesauros que tienen card_max == 0 se utilizan como listas de códigos: significa que serán referenciados dentro de GeoNode a través de su identificador para propósitos específicos.Habrá documentación ad hoc para cada una de dichas listas de códigos.
Por ejemplo, el diccionario de sinónimos con identificador labels-i18n se utiliza para las traducciones de etiquetas de metadatos.
Uso de palabras clave de un diccionario de sinónimos¶
Una vez que haya terminado la configuración, debería encontrar un nuevo widget de entrada en el editor de metadatos que le permitirá elegir palabras clave del tesauro para su recurso.
Además, si establece el atributo faceta en verdadero, el diccionario de sinónimos debería aparecer en la sección de filtro en las vistas de lista de recursos de GeoNode.
Por ejemplo, si tenemos estos tesauros:
Lista de tesauros de muestra configurados¶
ambos configurados con card max != 0 y facet = true, tendremos en el editor:
Selectores de palabras clave para tesauros de muestra¶
y también las tendremos en el panel de filtrado como facetas:
Selectores de facetas para tesauros de muestra¶