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 {{code}}datasets/{dataset_id}{{/code}} endpoint. | ||
6 | |||
7 | 1. First perform a {{code}}POST /datasets/{dataset_id}{{/code}} 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, (% id="cke_bm_564S" style="display:none" %) (%%)the {{code}}datasets/{dataset_id}{{/code}} 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 {{code}}GET /datasets/{dataset_id}{{/code}} 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 {{code}}can_request_access{{/code}} field is specified. If true, it means that it is possible to request access to that dataset using {{code}}POST /datasets/{dataset_id}{{/code}}. | ||
20 | 1. The third-party application asks the user if they want to request access, and then sends {{code}}POST /datasets/{dataset_id}?redirect_uri=https://mythirdpartyapp.eu/{dataset_id}{{/code}}. | ||
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 {{code}}https://mythirdpartyapp.eu/{dataset_id}{{/code}}. | ||
23 | 1. {{code}}GET /datasets/{dataset_id}{{/code}} now answers with successful responses. | ||
24 | |||
25 | |||
26 | == Front-end implementation == | ||
27 | |||
28 | An actual implementation of this flow is available at {{code}}data-proxy.ebrains.eu/datasets/{dataset_id}{{/code}}. | ||
29 | |||
30 | |||
31 | == What datasets are available? == | ||
32 | |||
33 | Datasets that are released in KnowledgeGraph v2 or v3 are available. | ||
34 | |||
35 |