informatics-isi-edu / ermrestjs

ERMrest client library in JavaScript
Apache License 2.0
4 stars 3 forks source link

Use the quantified value list enhancements of ERMrest #958

Closed RFSH closed 1 year ago

RFSH commented 2 years ago

With the changes in ermrest#246, we can now have quantified value lists in filter predicates in URL:

To make sure the specific ermrest installation on a server supports this feature, we would have to consult with the service announcement feature flag:

{
  "version": "0.3.1",
  "features": {
    "trs": true,
    "tcrs": true,
    "history_control": true,
    "implicit_fkey_index": true,
    "catalog_post_input": true,
    "catalog_alias": true,
    "indexing_preferences": {
      "btree": true,
      "btree_column_list": true,
      "trgm": true,
      "gin_array": true
    },
    "quantified_value_lists": true,
    "quantified_rid_lists": true
  }
}

Notice the quantified_value_lists and quantified_rid_lists in the features.

This syntactic sugar works consistently for all the binary predicates, whether or not a particular combination is very useful. You might express conjunctions or disjunctions which are pointless for a given column (type) or list of values. The following are the different places in ermrestjs/chaise that can use this syntax: