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.