Tabla de contenidos
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
...
{
"ro_id": "2-s2.0-85032573110",
"ro_type": "papers",
"text": "Analysis of the microstructure and mechanical properties of titanium-based composites reinforced by secondary phases and B In the last decade, titanium metal matrix composites (TMCs) have received considerable attention thanks to their interesting properties as a consequence of the clear interface between the matrix and the reinforcing phases formed. In this work, TMCs with 30 vol % of B",
"authors": ["Montealegre-Melendez, Isabel", "Arévalo, Cristina", "Ariza, Enrique", "Pérez-Soriano, Eva M.", "Rubio-Escudero, Cristina", "Kitzmantel, Michael", "Neubauer, Erich"],
"thematic_descriptors": [("Physical Sciences", 0.998)],
"specific_descriptors": [("tmcs", 0.777), ("titanium-based composites", 0.702), ("secondary phases", 0.664), ("clear interface", 0.564), ("reinforcing phases", 0.534), ("their interesting properties", 0.476), ("titanium metal matrix composites", 0.394), ("consequence", 0.376), ("considerable attention", 0.347), ("thanks", 0.291), ("interesting properties", 0.276), ("analysis", 0.243), ("microstructure and mechanical properties", 0.188), ("decade", 0.187), ("last decade", 0.083), ("work", 0.025)]
}
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
El API de Similitud y su documentación se mantienen en el repositorio GiitHub del proyecto:
HerculesED/src/Hercules.ED.Enrichment/Similitud at main · HerculesCRUE/HerculesED (github.com)
Los métodos del API son:
add_ro (POST)
Este método sirve para crear un nuevo RO en la base de datos. Se debe ejecutar cada vez que se quiera añadir un nuevo RO al sistema. En el caso de que se necesite incorporar un gran lote de ROs, como por ejemplo en el caso de una carga masiva inicial, se utilizará un script creado con ese propósito. Esta función se ejecuta de forma síncrona.
query_similar (GET)
Este método devuelve los diez RO más similares al RO de entrada. Se puede limitar el tipo de ROs a devolver (solo artículos científicos, protocolos, …)
Archivo query.json:
...
{
"ro_id": "2-s2.0-85032573110",
"ro_type_target": "papers"
}
Respuesta:
...