Este proyecto proporciona una serie de recursos para la implementación técnica de DCAT-AP-ES, un perfil de aplicación del vocabulario de catálogo de datos (DCAT-AP) para España.
Tip
La documentación disponible en DCAT-AP-ES Online está diseñada para servir como referencia tanto para publicadores como para usuarios de datos abiertos. En ella se detallan los principios y directrices para estructurar y describir conjuntos de datos de acuerdo con el perfil de aplicación DCAT-AP-ES, facilitando su interoperabilidad y reutilización. Además, incluye esquemas de metadatos, ejemplos prácticos, y guías de implementación que ayudan a garantizar una correcta adopción del perfil.
El proyecto está organizado de la siguiente manera:
.devcontainer: Configuración para Dev Containers, una funcionalidad que permite desarrollar en un entorno preconfigurado dentro de un contenedor Docker..github/workflows/: Contiene los flujos de trabajo de GitHub Actions para la generación de la documentación online y pruebas automatizadas para las formas SHACL.docs/: Documentación principal del proyecto en formatoMarkdownpara MKDocs.overrides: Plantillas personalizadas para la documentación online.examples/: Ejemplos de uso deDCAT-AP-ESen formato RDF/XML y Turtle.shacl/: Archivos de validación SHACL paraDCAT-AP-ESy extensión HVD.tests/: Scripts y documentación para validación local de SHACL. Más informaciónrefs/: Referencias adicionales y documentación relacionada.tools/: Herramientas y software útil para la gestión del proyecto. Más información
Este repositorio incluye un sistema completo de validación SHACL automatizado mediante GitHub Actions. Para más información sobre cómo ejecutar tests localmente y entender los resultados de validación, consulta tests/README.md.
Para validar cambios antes de hacer commit:
# Ejecutar todas las validaciones ./tests/validate-local.sh # Solo validación sintáctica ./tests/validate-local.sh --syntax-only # Solo validación semántica SHACL ./tests/validate-local.sh --shacl-onlyEl script validará:
- Coherencia entre el modelo DCAT-AP-ES y las formas SHACL.
- Sintaxis de archivos SHACL (Turtle)
- Conformidad de ejemplos RDF con las shapes SHACL
Warning
Requisitos: Docker
Si deseas contribuir a este proyecto, por ejemplo arreglando algún fichero de validación SHACL de DCAT-AP-ES, por favor sigue estos pasos:
-
Bifurca el repositorio
datosgobes/DCAT-AP-ES.git clone https://github.com/datosgobes/DCAT-AP-ES.git
-
Crea una nueva rama con tu correción
git checkout -b fix/shacl-property-x
-
Valida tus cambios localmente antes de hacer commit
./tests/validate-local.sh
-
Realiza tus cambios y haz commit
git commit -am 'Corregido rango de propiedad x' -
Sube tus cambios
git push origin fix/shacl-property-x
-
Abre una Solicitud de extracción (Pull Request) para confirmar el cambio en la rama principal.
Tip
El workflow de GitHub Actions ejecutará automáticamente las validaciones SHACL en tu Pull Request y comentará los resultados. Asegúrate de que todas las validaciones pasen antes de solicitar revisión.
Para previsualizar la documentación con MkDocs y lanzarlo en modo depuración, revisa la siguiente documentación: información sobre MKDocs
Esta documentación usa mkdocs-static-i18n para ser multilingüe, con ese objetivo se adopta la estructura de sufijos:
├── assets │ ├── css │ └── js ├── img ├── conventions.en.md ├── conventions.md ├── examples.en.md ├── examples.md ├── index.md └── robots.txtNote
Usando la estructura de sufijo en los archivos de documentación (por defecto), debes agregar el sufijo .<idioma>.<extensión> a tus archivos (por ejemplo, index.en.md).
Más información en: Documentación del plugin MkDocs static i18n
-
Python hook (
dcat_ap_es.py):- Es un hook para MkDocs que se ejecuta después de la construcción del sitio
- Se encarga de copiar archivos
PDFdesde un directorio de origen a un directorio de destino en el sitio generado
-
Imagen personalizada para Asciidoctor (
Dockerfile):- Basado en la imagen
asciidoctor/docker-asciidoctor - Se utiliza para generar documentos
PDFmaquetados a partir de archivosAsciiDoc
- Basado en la imagen
-
Imagen personalizada para md2adoc (
Dockerfile):- Basado en la imagen
ruby - Se utiliza para convertir documentos Markdown a formato
AsciiDoc
- Basado en la imagen
Estos tres componentes forman parte de un pipeline de documentación que:
- Convierte archivos Markdown a AsciiDoc (usando el contenedor md2adoc)
- Genera
PDFa partir de los archivos AsciiDoc (usando el contenedor asciidoctor) - Copia los
PDFgenerados al sitio web final durante la construcción de MkDocs (usando el hook de Python)
Todo el material de este repositorio se publica bajo la licencia CC-BY 4.0, a menos que se mencione explícitamente lo contrario. Consulta el archivo LICENSE para más detalles.
Para cualquier consulta o sugerencia, por favor abre una incidencia (Issue) en el repositorio o contacta a los mantenedores del proyecto.