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.


Changes for page kg-spatial-search

Last modified by oschmid on 2023/08/22 11:23

From version 7.4
edited by oschmid
on 2023/08/22 09:22
Change comment: There is no comment for this version
To version 9.1
edited by oschmid
on 2023/08/22 09:25
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -29,9 +29,9 @@
29 29  Simply use the API endpoint at [[https:~~/~~/spatial.kg.ebrains.eu/api/>>https://spatial.kg.ebrains.eu/api/]] by running queries according to the following examples:
30 30  
31 31  
32 -==== Get started: Query by a "bounding box" (hyperrectangle) ====
32 +=== Get started: Query by a "bounding box" (hyperrectangle) ===
33 33  
34 -{{code}}
34 +{{code language="bash" layout="LINENUMBERS"}}
35 35  curl -X 'POST' \
36 36   'https://spatial.kg.ebrains.eu/spatial-search/cores/ebrains/spatial_objects' \
37 37   -H 'accept: application/json' \
... ... @@ -44,11 +44,11 @@
44 44  As you can see, you're sending a POST request to the endpoint at **https:~/~/spatial.kg.ebrains.eu/spatial-search/cores/ebrains/spatial_objects  **with a payload defining a geometry of interest. In this case, we're looking for all objects that are **inside **a **hyperrectangle **defined by its lowest and highest point in the coordinate system of the coordinate space **AMB-CCF_v3-RAS**. This query will return you an array of ids of the objects located within the geometry which you then can use to conveniently query the KG either through the [[Instance API>>https://core.kg.ebrains.eu/swagger-ui/index.html#/2%20Advanced/getInstancesByIds]] or the [[Query API>>https://core.kg.ebrains.eu/swagger-ui/index.html#/1%20Basic/runDynamicQuery]] to access detailed meta information.
45 45  
46 46  
47 -==== Query by hypersphere ====
47 +=== Query by hypersphere ===
48 48  
49 49  Alongside the possibility to use hyperrectangles for querying the spatial search, you can also use hyperspheres:
50 50  
51 -{{code}}
51 +{{code language="javascript" layout="LINENUMBERS"}}
52 52  {
53 53   "filters": "inside(hypersphere{[50.0,146.0,227.0], 2, \"AMB-CCF_v3-RAS\"})"
54 54  }
... ... @@ -58,20 +58,13 @@
58 58  
59 59  
60 60  
61 -==== Advanced use: Union geometries for complex queries ====
61 +=== Advanced use: Union geometries for complex queries ===
62 62  
63 63  To build arbitrarily complex geometries, it is possible to combine hyperrectangles and hyperspheres via (nested) unions:
64 64  
65 -{{code}}
65 +{{code language="javascript" layout="LINENUMBERS"}}
66 66  {
67 - "filters": "
68 - union(
69 - union(
70 - inside(hyperrectangle{[50.0,146.0,227.0], [51.0, 149.0, 228.0], \"AMB-CCF_v3-RAS\"}),
71 - inside(hyperrectangle{[120.0,146.0,227.0], [150.0, 180.0, 300.0], \"AMB-CCF_v3-RAS\"})
72 - ),
73 - inside(hypersphere{[50.0,146.0,227.0], 2, \"AMB-CCF_v3-RAS\"})
74 - )"
67 + "filters": "union(union(inside(hyperrectangle{[50.0,146.0,227.0], [51.0, 149.0, 228.0], \"AMB-CCF_v3-RAS\"}), inside(hyperrectangle{[120.0,146.0,227.0], [150.0, 180.0, 300.0], \"AMB-CCF_v3-RAS\"})),inside(hypersphere{[50.0,146.0,227.0], 2, \"AMB-CCF_v3-RAS\"}))"
75 75  }
76 76  {{/code}}
77 77