Anleitung für die Nutzung der Recommender-API

english version below

Einleitung
Diese Datei beschreibt die Bedienung der API des Empfehlungssystems des DFKI für das KI-Campus-Projekt. Derzeit beschränkt sich der Umfang des Empfehlungssystems auf die Empfehlung von weiterführenden und ähnlichen Kursen zu einem gegebenen Kurs.

URL
Die API zum Erhalt von Empfehlungen befindet sich unter folgender URL:
https://lnv-90209.sb.dfki.de/recommendation_learnings/<UUID>

Methoden
nur HTTP GET

Parameter
Die UUID kann dabei entweder die vom DFKI verwendete UUID oder die Drupal-UUID sein und wird ohne Anführungsstriche (und ohne spitze Klammern) als letzter Teil der URL angegeben.

Return-Wert
Auf das Senden einer Kurs-ID antwortet der Server mit einer JSON-Liste von Empfehlungen. Folgendes Bild zeigt exemplarisch einen Ausschnitt einer solchen Liste:
Beispiel-Antwort des Empfehlungssystem

Die Liste besteht aus mehreren Objekten, die alle dieselben Felder aufweisen. In der folgenden Tabelle werden diese Felder beschrieben.

Feld Erklärung
for_learning_offer DFKI-UUID des Lernangebots, für das die Empfehlung angefordert wird.
for_learning_offer_neo Drupal-UUID des Lernangebots, für das die Empfehlung angefordert wird.
recommended_learning_offer DFKI-UUID des empfohlenen Lernangebots.
recommended_learning_offer_id_neo Drupal-UUID des DFKI des empfohlenen Lernangebots.
type_of_recommendation Typ der Empfehlung. Ist entweder ähnlich ('s': similar) oder weiterführend ('c': continuative)
strength_of_recommendation Stärke der berechneten Empfehlung. Das Wert liegt im Intervall [-1, 1] und nimmt mit steigendem Zahlwert zu.

Die Liste von Empfehlungen für einen Kurs enthält Berechnungen für jeden Kurs auf dem KI-Campus. Sie ist nicht sortiert.

Authentifizierung
Damit nur berechtigte Personen die API benutzen können, wurde eine Token-Authentifizierung implementiert. Diese erfordert das Mitsenden eines Tokens im Header bei jeder Anfrage. Zum Erhalt eines gültigen Tokens ist die zuständige Person am DFKI zu kontaktieren. Das Token muss im Header im Feld "Authorization" wie im folgenden Beispielbild angegeben werden:

Header-Feld Authorization

Stand: März 2021


Instructions for using the Recommender API

Introduction
This file describes how to use the API of DFKI's recommender system for the AI Campus project. Currently, the scope of the recommender system is limited to recommending continuative and similar courses to a given course.

URL
The API for obtaining recommendations is located at the following URL:
https://lnv-90209.sb.dfki.de/recommendation_learnings/<UUID>

Methods
HTTP GET only

Parameters
The UUID can be either the UUID used by DFKI or the Drupal UUID and is specified without quotes (and without angle brackets) as the last part of the URL.

Return value.
When a course ID is sent, the server responds with a JSON list of recommendations. The following image shows an example of such a list:
example-recommendation-system-response.

The list consists of several objects, all of which have the same fields. The following table describes these fields.

Field Explanation
for_learning_offer DFKI UUID of the learning offer for which the recommendation is requested.
for_learning_offer_neo Drupal UUID of the learning offer for which the recommendation is requested.
recommended_learning_offer DFKI UUID of the recommended learning offer.
recommended_learning_offer_id_neo DFKI Drupal UUID of the recommended learning offer.
type_of_recommendation Type of recommendation. Is either similar ('s') or continuative ('c').
strength_of_recommendation Strength of the calculated recommendation. The value is in the interval [-1, 1] and increases with increasing number value.

The list of recommendations for a course contains calculations for every course on the AI campus. It is not sorted.

Authentication.
To ensure that only authorized people can use the API, token authentication has been implemented. This requires a token to be sent in the header with each request. To obtain a valid token, the responsible person at DFKI has to be contacted. The token must be specified in the header in the field "Authorization" as shown in the following example image:

header field Authorization

Status: March 2021