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

Las validaciones de catálogo y la de dataset no validan que los themes del dataset se correspondan a themes del catálogo #150

Open poligarcia opened 6 years ago

poligarcia commented 6 years ago

Ejemplo de catálogo:

{
    "title": "Datos Argentina",
    "description": "Portal de Datos Abiertos del Gobierno de la República Argentina",
    "publisher": {
        "name": "Ministerio de Modernización",
        "mbox": "datos@modernizacion.gob.ar"
    },
    "superThemeTaxonomy": "http://datos.gob.ar/superThemeTaxonomy.json",
    "themeTaxonomy": [
        {
            "id": "FOO",
            "description": "Foo taxonomy",
            "label": "Foo taxonomy"
        }
    ],
    "dataset": [
        {
            "identifier": "datos-01",
            "title": "Sistema de contrataciones electrónicas",
            "description": "Datos correspondientes al Sistema de Contrataciones Electrónicas (Argentina Compra)",
            "publisher": {
                "name": "Ministerio de Modernización. Secretaría de Modernización Administrativa. Oficina Nacional de Contrataciones"
            },
            "superTheme": [
                "ECON"
            ],
            "theme": [
                "BAR"
            ],
            "accrualPeriodicity": "R/P1Y",
            "issued": "2016-04-14T19:48:05.433640-03:00",
            "distribution": [
                {
                    "identifier": "datos-01-01",
                    "accessURL": "http://datos.gob.ar/dataset/sistema-de-contrataciones-electronicas-argentina-compra/archivo/fa3603b3-0af7-43cc-9da9-90a512217d8a",
                    "downloadURL": "http://186.33.211.253/dataset/99db6631-d1c9-470b-a73e-c62daa32c420/resource/4b7447cb-31ff-4352-96c3-589d212e1cc9/download/convocatorias-abiertas-anio-2015.csv",
                    "title": "Convocatorias abiertas durante el año 2015",
                    "issued": "2016-04-14T19:48:05.433640-03:00"
                }
            ]
        }
    ]
}

Notar que el dataset con id datos-01 tiene un theme con valor BAR y en la taxonomía del catálogo este theme no existe.

Se esperaría que la validación arroje un error, cuando en realidad esá pasando correctamente:

>catalog = DataJson('/home/poli/work/datosgobar/red-nodos/error-taxonomia.json')
>validation = catalog.validate_catalog()
>print(validation)
{u'status': u'OK', u'error': {u'catalog': {u'status': u'OK', u'errors': [], u'title': u'Datos Argentina'}, u'dataset': [{u'status': u'OK', u'identifier': u'datos-01', u'list_index': 0, u'errors': [], u'title': u'Sistema de contrataciones electr\xf3nicas'}]}}
abenassi commented 6 years ago

chequea que un dataset no use un theme que no exista en la taxonomía TODO: hay que implementarlo

chequea que un dataset no use theme con id esté repetido en taxonomía TODO: hay que implementarlo