All issues for this milestone are closed. You may close the milestone now.
Open
Milestone

Query builder stubs

As discussed, we will be developing some sort of visual query builder. To shield from the complexity and time needed to build a fully fledged interface, this should be a collaborative effort. This milestone covers the basic requirements of a useful query builder.

Documentation items are a must-have, stubs are based on time available and ranking by "bang-for-buck" and collaboration with @timrepke .

Documentation

We need some documentation for users (pro users—those who could write SQL; and other users—those who would normally use WoS query builder).

  • easy to understand description of basics
    • basic logic of websearch_totsquery (|,&,<->,",...)
    • behaviour of quotes
    • ...
  • Brief introduction to the basic SQL statements and gotchas, ideally as part of https://gitlab.pik-potsdam.de/mcc-apsis/nacsos/nacsos-docs (ask @mhansen)

Helpful stubs for query builder

@timrepke will build an interface for NACSOS, any help towards that is greatly appreciated, e.g.:

  • define schema to represent query logic to abstract SQL
  • query builder (from json schema [to be defined] to prepared SQL statement, maybe including virtual fields like title&abstract that convert to a join)
  • translate publication in OpenAlex to a dict following the AcademicItemModel schema definition (see https://apsis.mcc-berlin.net/nacsos-core/docs)
  • on-the-fly query statistics to (heuristically) estimate the scope of a query (e.g. by hinting the user of how common terms contained in the query are or how many papers are published in the selected years; whatever postgres data profiling gives us)
  • query overlaps (only left set, inner, only right set)
    • on-the-fly statistics, such as relative time histogram difference, overlap of authors, overlap of venues, ...; whatever is fast and easy;
    • sample of query results for the sets

Interface sketch

The interface will probably be somewhat similar to this: https://developer.twitter.com/apitools/query

Roughly:

  • add search parameter
    • select field
    • based on type, add conditions / value
  • add group
  • for group/parameters, select logical relation (AND/OR)
  • Work items 1
  • Merge requests 0
  • Participants 1
  • Labels 0
Loading
Loading
Loading
Loading
100% complete
100%
Start date
No start date
None
Due date
No due date
1
Work items 1
Open: 0 Closed: 1
0
Merge requests 0
Open: 0 Closed: 0 Merged: 0
0
Releases
None
Reference: mcc-apsis/nacsos%"Query builder stubs"