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