diff --git a/.docs/images/screenshots/search-faceted.png b/.docs/images/screenshots/search-faceted.png new file mode 100644 index 0000000000000000000000000000000000000000..0d233c585c14c702a462e80074da02a4cf44c93f Binary files /dev/null and b/.docs/images/screenshots/search-faceted.png differ diff --git a/.docs/images/statistics-example-unit-independent-search.png b/.docs/images/statistics-example-unit-independent-search.png new file mode 100644 index 0000000000000000000000000000000000000000..27325eb67eec0a20d78386e914028662e3ab7485 Binary files /dev/null and b/.docs/images/statistics-example-unit-independent-search.png differ diff --git a/.docs/images/statistics-example.png b/.docs/images/statistics-example.png new file mode 100644 index 0000000000000000000000000000000000000000..cbca0835ddb180384a96eba654c179db433de50d Binary files /dev/null and b/.docs/images/statistics-example.png differ diff --git a/.docs/images/statistics-mirror.png b/.docs/images/statistics-mirror.png new file mode 100644 index 0000000000000000000000000000000000000000..ecc52de9c08779853fc35c0796799dffdda38c3a Binary files /dev/null and b/.docs/images/statistics-mirror.png differ diff --git a/.docs/index.md b/.docs/index.md index 48877b562058d07bfd3e9a279fdc8313e9b8433b..0ac7b018dff1a0422f69d9661f67ba2d762920a6 100644 --- a/.docs/index.md +++ b/.docs/index.md @@ -26,6 +26,5 @@ evolving, allows reproducing of query results and supports findable-, accessible ## More Information - Demonstration instance [https://dbrepo1.ec.tuwien.ac.at](https://dbrepo1.ec.tuwien.ac.at) -- Test instance [https://test.tuwien.ac.at](https://test.tuwien.ac.at) -- try it yourself! -- Sandbox instance [https://test.dbrepo.tuwien.ac.at](https://dbrepo2.ec.tuwien.ac.at) +- Test instance [https://test.dbrepo.tuwien.ac.at](https://test.dbrepo.tuwien.ac.at) - System description [https://doi.org/10.2218/ijdc.v17i1.825](https://doi.org/10.2218/ijdc.v17i1.825) diff --git a/.docs/system-other-ui.md b/.docs/system-other-ui.md index c8ca1c18aae65fe905532d5291a88dbe00db7720..00fc3113c6149e2653a98344259f5317a814031c 100644 --- a/.docs/system-other-ui.md +++ b/.docs/system-other-ui.md @@ -19,8 +19,8 @@ author: Martin Weise It provides a *user interface* (UI) for a researcher to interact with the database repository's API. <figure markdown> - { .img-border } - <figcaption>User Interface</figcaption> +{ .img-border } +<figcaption>User Interface</figcaption> </figure> <figure markdown> diff --git a/.docs/system-services-search.md b/.docs/system-services-search.md index 2ce466157ba369255dfa01483efa2f1eafe2d9d5..a3fe10e81660a3595194a51c3f7a430d0dd74929 100644 --- a/.docs/system-services-search.md +++ b/.docs/system-services-search.md @@ -17,9 +17,59 @@ author: Martin Weise ## Overview +This service communicates between the [Search Database](../system-databases-search) and +the [User Interface](../system-other-ui) to allow structured search of databases, tables, columns, users, identifiers, +views, semantic concepts & units of measurements used in databases. +## Index -### Examples +There is only one +index [`database`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/dbrepo-search-db/init/indices/database.json) +that holds all the metadata information which is mirrored from the [Metadata Database](../system-databases-metadata). + +<figure markdown> + +<figcaption>Statistical properties in Metadata Database and Search Database</figcaption> +</figure> + +## Faceted Browsing + +This service enables the frontend to search the `database` index with eight different *types* of desired results +(database, table, column, view, identifier, user, concept, unit) and their *facets*. + +For example, the [User Interface](../system-other-ui) allows for the search of databases that contain a certain +semantic concept (provided as URI, e.g. +temperature [http://www.wikidata.org/entity/Q11466](http://www.wikidata.org/entity/Q11466)) and unit of measurement +(provided as URI, e.g. degree +Celsius [http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius](http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius)). + +An example on faceted browsing is found in the [usage examples](../usage-search). + +## Unit Independent Search + +Since the repository automatically collects statistical properties (min, max, mean, median, std.dev) in both the +[Metadata Database](../system-databases-metadata) and the [Search Database](../system-databases-search), a special +search can be performed when at least two columns have the same semantic concept (e.g. temperature) annotated and +the units of measurements can be transformed. + +<figure markdown> + +<figcaption>Two tables with compatible semantic concepts and units of measurement</figcaption> +</figure> + +In short, the search service transforms the statistical properties not in the target unit of measurements is transformed +by using the [`omlib`](https://github.com/dieudonneWillems/OMLib) package. + +For example: a user wants to find datasets that contain *"temperature measurements between 0 - 10 °C"*. Then the +search service transforms the query to the dataset on the right from °F to contain *"temperature measurements +between 32 - 50 °F"* instead. + +<figure markdown> + +<figcaption>Unit independent search query transformation</figcaption> +</figure> + +## Examples See the [usage page](../usage-search). @@ -33,4 +83,4 @@ See the [usage page](../usage-search). ## Security -TBD +(nothing) diff --git a/.docs/usage-metadata.md b/.docs/usage-metadata.md deleted file mode 100644 index fd2587a7fc21fff58aeb3a7c14acedbabeccb29f..0000000000000000000000000000000000000000 --- a/.docs/usage-metadata.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -author: Martin Weise ---- - -# Metadata Service - -TBD \ No newline at end of file diff --git a/.docs/usage-search.md b/.docs/usage-search.md deleted file mode 100644 index 1afa21dbb6e31f116efdf68eb893be7f61f080a1..0000000000000000000000000000000000000000 --- a/.docs/usage-search.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -author: Martin Weise ---- - -# Search Service - -TBD \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index bc44b686bcea3e6d96b60fd993ae414d10e462d6..1ea18e2c80da7b9965578214c5b84055bc7c6391 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -35,8 +35,6 @@ nav: - Analyse Service: usage-analyse.md - Authentication Service: usage-auth.md - Broker Service: usage-broker.md - - Metadata Service: usage-metadata.md - - Search Service: usage-search.md - Storage Service: usage-storage.md - Upload Service: usage-upload.md - publications.md