Warning:  Due to planned infrastructure maintenance, the EBRAINS Wiki and EBRAINS Support system will be unavailable for up to three days starting Monday, 14 July. During this period, both services will be inaccessible, and any emails sent to the support address will not be received.

Attention: We are currently experiencing some issues with the EBRAINS Drive. Please bear with us as we fix this issue. We apologise for any inconvenience caused.


Wiki source code of Human Data Gateway

Version 2.1 by eapapp on 2021/07/26 13:54

Hide last authors
eapapp 1.1 1 == Access to datasets shared via the Human Data Gateway ==
2
3 You can now browse KnowledgeGraph datasets through the data proxy as an authenticated user via the datasets API: [[https:~~/~~/data-proxy.ebrains.eu/api/docs#/datasets>>https://data-proxy.ebrains.eu/api/docs#/datasets]]
4
eapapp 2.1 5 To get access to datasets protected by the HDG, use the (% style="background-color:lightgray" %)datasets/{dataset_id}(%%) endpoint.
eapapp 1.1 6
eapapp 2.1 7 1. First perform a (% style="background-color:lightgray" %)POST /datasets/{dataset_id}(%%) request to start the HDG flow.
eapapp 1.1 8 1. An e-mail is then sent to the user with the terms of use to validate the access.
9 1. Once the access has been validated, the user is redirected by default to the KnowledgeGraph page of the dataset. This redirection can be customized for third-party integration.
10
eapapp 2.1 11 **Note:** For publicly available datasets, the (% style="background-color:lightgray" %)datasets/{dataset_id}(%%) endpoint can be used via GET, without the extra validation round.
eapapp 1.1 12
13 == Example of programmatic integration for a third party ==
14
15 1. A user wants to access a KG dataset in your third-party application.
eapapp 2.1 16 1. The third-party application calls (% style="background-color:lightgray" %)GET /datasets/{dataset_id}(%%) with the user token in order to get information about the dataset or download it.
eapapp 1.1 17 (% start="1" style="list-style-type:upper-alpha" %)
18 11. The dataset is not protected ~-~-> A successful response is sent.
eapapp 2.1 19 11. The dataset is protected ~-~-> A 401 response is sent back. In the 401 json response, a (% style="background-color:lightgray" %)can_request_access(%%) field is specified. If true, it means that it is possible to request access to that dataset using (% style="background-color:lightgray" %)POST /datasets/{dataset_id}(%%).
20 1. The third-party application asks the user if they want to request access, and then sends (% style="background-color:lightgray" %)POST /datasets/{dataset_id}?redirect_uri=https://mythirdpartyapp.eu/{dataset_id}(%%).
eapapp 1.1 21 1. If the request is successful, an e-mail is sent to the user.
eapapp 2.1 22 1. Once the user has clicked on the e-mail link, access is granted and the user is redirected to (% style="background-color:lightgray" %)https://mythirdpartyapp.eu/{dataset_id}(%%).
23 1. (% style="background-color:lightgray" %)GET /datasets/{dataset_id}(%%) now answers with successful responses.
eapapp 1.1 24
25 == Front-end implementation ==
26
eapapp 2.1 27 An actual implementation of this flow is available at (% style="background-color:lightgray" %)data-proxy.ebrains.eu/datasets/{dataset_id}(%%).
eapapp 1.1 28
29
30 == What datasets are available? ==
31
32 Datasets that are released in KnowledgeGraph v2 or v3 are available.