Manipulación de metadatos¶
Hay dos formas posibles de manipular metadatos adicionales en GeoNode:
a través del Editor de metadatos (asistente y avanzado)
a través de la API Rest
Editor de metadatos (asistente/avanzado):¶
La sección de metadatos se coloca debajo de la sección METADATOS OPCIONALES disponible para todos los recursos de GeoNode.
Los metadatos deben seguir dos reglas específicas para guardarse en el recurso:
Siempre debe ser una lista de JSON. Esto permite agregar más de un metadato para cada recurso
El JSON debe seguir el esquema definido en settings.py para el recurso seleccionado.
Por ejemplo, para mi recurso de documentos, puedo tener algo como lo siguiente:
Menú del asistente de edición avanzada¶
Después de presionar el botón guardar, el sistema realizará las siguientes comprobaciones:
Comprueba si el texto proporcionado es un JSON válido. En caso de entrada de formato incorrecto, se muestra el siguiente error:
error JSON no válido¶
Comprueba si se proporciona el esquema de metadatos para el recurso; de lo contrario, se generará el siguiente error
falta error de esquema¶
Comprueba si el esquema de metadatos es coherente con el esquema definido en la configuración. En caso de entrada de formato incorrecto, el error imprimirá las claves JSON que faltan
error de esquema no válido¶
Filtrado de facetas¶
Automáticamente, la interfaz web creará dinámicamente las facetas si hay al menos 1 metadato definido para el recurso.
Supongamos que un recurso tiene los siguientes metadatos:
[
{
"field_name": "bike",
"field_label": "KTM",
"field_value": "ktm",
"filter_header": "Sports Parameters"
},
{
"field_name": "mountain",
"field_label": "Monte bianco",
"field_value": "monte_bianco",
"filter_header": "Italian Mountains"
}
]
De forma predeterminada, GeoNode convertirá esta información de metadatos en facetas disponibles para el recurso
La faceta convertirá:
filter_header: utilizado como filtro de encabezado
field_value: utilizado para realizar la búsqueda
field_name: utilizado para calcular los valores únicos (junto con field_value)
Después de dicho eso, la faceta será la siguiente: