add_ro (POST)
Se encarga de añadir un nuevo RO (publicaciones y otros tipos) al repositorio de ROs del sistema de recomendación.
Parámetros de entrada (JSON)
- ro_id: El identificador del RO.
- ro_type: Tipo de RO. Debe ser uno de los siguientes: papers, bio-protocol, sourceForge.
- text: El texto del RO resultante de la concatenación entre el título y el abstract.
- authors: Lista de nombres completos de los autores del RO.
- thematic_descriptors: Lista de los descriptores temáticos y sus probabilidades obtenidos a través de la API de los descriptores.
- specific_descriptors: Lista de los descriptores específicos y sus probabilidades obtenidos a través de la API de los descriptores.
Parámetros de salida (JSON)
- error_msg: Mensaje de error textual en caso de que el servicio no haya podido procesar la petición.
Información adicional
- Tanto los parámetros de entrada como los de salida estarán en formato JSON.
- Tiempo de respuesta estimado: menos de diez segundos.
- Habrá un comando para cargas iniciales masivas de RO. El script recibirá un archivo JSON como entrada, siendo este una lista de objetos con el mismo formato de los parámetros de entrada de add_ro.
$ indexar_ros lote_ros.json
Ejemplo
Comando curl:
$ curl -H "Content-Type:application/json" -X POST -d '@query.json' herculesapi.elhuyar.eus/similarity/add_ro |
Archivo query.json
{ |
Respuesta:
{} |
query_similar (GET)
Se encarga de recuperar las recomendaciones para un RO, desde el repositorio de ROs del sistema de recomendación.
Parámetros de entrada
- ro_id: ID del RO del que se quieren obtener RO similares. El RO correspondiente al ro_id debe estar en la colección de este servicio.
- ro_type_target: Tipo de RO requerido para los RO similares.
Parámetros de salida
- similar_ros: Lista de los diez RO más similares de tipo ro_type_target al RO de entrada con ID text_id. Se devuelven los IDs de los RO y los descriptores más relevantes de la relación. Los datos tienen el siguiente formato: list<text_id, relevant_descriptors>.
- error_msg: Mensaje de error textual en caso de que el servicio no haya podido procesar la petición.
Información adicional
- Tiempo de respuesta estimado: alrededor de un segundo.
Ejemplo
Comando curl:
$ curl -H "Content-Type:application/json" -X POST -d '@query.json' herculesapi.elhuyar.eus/similarity/query_similar |
Archivo query.json:
{ |
Respuesta:
{ |