El A.P.I.
¿Cómo consulto los datos desde mi aplicación?
Los datos de UniversiDATA pueden consumirse tanto desde las páginas de descarga, orientadas a los usuarios, como desde su API (Application Programming Interface).
UniversiDATA, al estar construido con DKAN, soporta los siguientes APIs:
Consultas sobre los datos (DataStore API)
Para poder consultar los datos de un determinado recurso, es necesario conocer dos cosas:
1) La URL del DataStore API, que es, dependiendo del formato en el que queramos que venga especificada la respuesta:
- https://www.universidata.es/api/action/datastore/search.json
- https://www.universidata.es/api/action/datastore/search.xml
- https://www.universidata.es/api/action/datastore/search.jsonp
2) El identificador del recurso (Resource ID) que queremos consultar. Este identificador se obtiene consultando la sección "Data API" en la página del recurso correspondiente, como se ve en la siguiente captura:
Para todos los ejemplos aquí mostrados usaremos el recurso con Resource-ID = 84d7461c-34a9-4682-927f-3b20c1a02a3c, correspondiente a las titulaciones de la URJC en el curso 2018-19
EJEMPLO 1: Obtener los datos de un recurso
Se pueden especificar tres parámetros:
- Obligatoriamente, el parámetro resource_id
- Obligatoriamente, el parámetro limit, que especifica a cuántos registros queremos limitar la consulta. ATENCION: Si no se especifica este parámetro, el sistema interpreta que se trata de una consulta de prueba y devuelve por defecto sólo los primeros 10 registros.
- Opcionalmente, el parámetro offset, que especifica a partir de qué registro queremos que nos devuelva la consulta. Este parámetro es útil para consultar en varios pasos recursos muy grandes (con varios miles de registros) en los que puede resultar prohibitivo para el cliente o el servidor su procesamiento en una sola petición. En estos casos es una buena práctica fragmentar la petición en varias peticiones parciales sucesivas.
- Consulta de prueba (devuelve como máximo 10 registros):
- Consulta de los primeros 200 registros:
- Consulta de 200 registros empezando por el nº 50:
EJEMPLO 2: Especificar condiciones de filtrado en la petición
Hay que especificar un parámetro adicional:
- Parámetro filters, que especifica el campo y los valores por los que queremos filtrar en el formato filters[campo]=valor/es separados por comas
- En el caso de que queramos filtrar por más de un campo, se debe añadir el parámetro filters tantas veces como campos queramos filtrar
- Consulta de todas las titulaciones de grado:
- Consulta de todas las titulaciones de grado o máster:
- Consulta de todos los Másteres ofertados "online":
EJEMPLO 3: Limitar campos en la respuesta y especificar ordenación
Hay que especificar dos parámetros adicionales:
- Parámetro fields[], que especifica los campos que queremos que nos devuelva la consulta. Si queremos especificar varios campos, debemos especificar varias veces el parámetro.
- Parámetro sort , que especifica el campo por el cual ordenar los resultados, y el sentido de la ordenación
- Consulta del nombre y el tipo de estudio de todas las titulaciones ordenadas por tipo de estudio ascendetemente:
EJEMPLO 4: Filtrar por coincidencia de texto en todos los campos
Hay que especificar un parámetro adicional:
- Parámetro query, que especifica la cadena de texto que queremos buscar en todos los campos que devuelva la consulta. Es importante notar que para la comparación NO se tienen en cuenta mayúsculas/minúsculas.
- Consulta de todas las titulaciones que contienen "Bio" en su nombre:
EJEMPLO 5: Combinar datos de dos recursos distintos
Hay que especificar los dos recursos que se quieren unir, y usar parámetro adicional para definir los campos por los que se debe hacer la unión en cada recurso:
- Dos parámetros resource_id, especificando cada uno de los recursos a unir y dándoles un alias: resource_id[alias recurso 1]=id del recurso 1&resource_id[alias recurso 2]=id del recurso 2
- Parámetro join, con el siguiente formato: join[alias recurso 1]=campo recurso 1&join[alias recurso 2]=campo recurso 2
- Consulta de todas las titulaciones junto con los centros de los que depende cada una:
Consultas sobre los metadatos (CKAN Dataset API)
Para poder consultar los metadatos de un determinado dataset o recurso mediante el CKAN API, es necesario conocer dos cosas:
1) La URL base del CKAN API, que es:
- https://www.universidata.es/api/3/action/
2) El identificador del recurso (Resource ID) o del dataset que queremos consultar. Estos identificadores se obtienen consultando la sección "Data API" en la página del recurso correspondiente, o en la tabla de metadatos de la página de cada dataset.
EJEMPLO 6: Consultar los metadatos de tódo el catálogo
Hay que especificar la acción "current_package_list_with_resources":
- Obtener los metadatos de todos los datasets junto con sus recursos:
EJEMPLO 7: Consultar los metadatos de un dataset
Hay que especificar la acción "package_show", especificando un parámetro "id" con el identificador del dataset:
- Obtener los metadatos del dataset de Titulaciones:
EJEMPLO 8: Consultar los metadatos de un recurso
Hay que especificar la acción "resource_show", especificando un parámetro "id" con el identificador del recurso:
- Obtener los metadatos del recurso "URJC-Centros-2018-19":
Consultas sobre el catálogo (DCAT API)
Para poder consultar los contenidos del catálogo de una determinada Universidad mediante el DCAT API, es necesario conocer dos cosas:
1) La URL base del DCAT API, que es:
- https://universidatacatalog.azurewebsites.net/api/universidades/
2) El identificador de la Universidad (su acrónimo) cuyo catálogo queremos consultar (por ejemplo "URJC")
EJEMPLO 9: Consultar el catálogo de una Universidad
Hay que especificar el parámetro "universidad" con el acrónimo correspondiente:
- Obtener el catálogo de la Universidad Rey Juan Carlos:
- 3920 lecturas