Wiki source code of Human Data Gateway
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 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 | |||
| 5 | To get access to datasets protected by the HDG, use the (% style="background-color:lightgray" %)datasets/{dataset_id}(%%) endpoint. | ||
| 6 | |||
| 7 | 1. First perform a (% style="background-color:lightgray" %)POST /datasets/{dataset_id}(%%) request to start the HDG flow. | ||
| 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 | |||
| 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. | ||
| 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. | ||
| 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. | ||
| 17 | (% start="1" style="list-style-type:upper-alpha" %) | ||
| 18 | 11. The dataset is not protected ~-~-> A successful response is sent. | ||
| 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}(%%). | ||
| 21 | 1. If the request is successful, an e-mail is sent to the user. | ||
| 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. | ||
| 24 | |||
| 25 | == Front-end implementation == | ||
| 26 | |||
| 27 | An actual implementation of this flow is available at (% style="background-color:lightgray" %)data-proxy.ebrains.eu/datasets/{dataset_id}(%%). | ||
| 28 | |||
| 29 | |||
| 30 | == What datasets are available? == | ||
| 31 | |||
| 32 | Datasets that are released in KnowledgeGraph v2 or v3 are available. |