datosgobar / pydatajson

Librería para analizar, generar y validar metadatos en formato data.json.
https://pydatajson.readthedocs.io
MIT License
14 stars 9 forks source link

Implementar cálculo de "dataset federado o no federado" usando los ids, en lugar de los títulos #243

Closed abenassi closed 5 years ago

abenassi commented 5 years ago

El método generate_catalogs_indicators(catalogs, central_catalog=None, validator=None)admitiría que se pase un dict en el argumento catalogs que contenga como keys los catalog_id de cada catálogo (si se dispone de esa información).

En este caso el método debería poder usar esta información para pasársela opcionalmente a _federation_indicators() y que la comparación entre dos datasets para saber si está federado o no, sea a través de los ids compuestos de los datasets y no a través de otros campos de metadatos como el título o el nombre del responsable.

lrromero commented 5 years ago

@poligarcia @abenassi Este issue estaría mejor encarado desde el punto de vista de monitoreo. Evita ponernos específicos en cómo se calculan los indicadores de federación (Otra red podría federar usando distinta política para los ids). Además la información ya está disponible desde el lado de monitoreo, es solo cuestión de procesarla.

abenassi commented 5 years ago

@lrromero después de discutirlo con @poligarcia reafirmamos la conveniencia de hacerlo en pydatajson en lugar de monitoreo apertura para tener un control más "externo" de los datasets que efectivamente están federados con éxito en datos.gob.ar y no sólo que los hayamos marcado como federables al margen de que se hayan podido federar exitosamente o no.

La implementación debería ir por:

def generate_catalogs_indicators(catalogs, central_catalog=None,
                                 validator=None):
    """Genera una lista de diccionarios con varios indicadores sobre
    los catálogos provistos, tales como la cantidad de datasets válidos,
    días desde su última fecha actualizada, entre otros.

    Args:
        catalogs (str o list      *****o dict*****): uno o más catalogos sobre los que se quiera
            obtener indicadores