query_criteria.json

Named file: config/user/query_criteria/<query criteria index>.json

Purpose

Used to guide the Query class’s searching algorithm in the run() and _match() methods. This is used for pulling Sample, Model, or Sim indices for data analysis. The query_criteria.json dictates if a given Sample, Model, or Sim fit the user’s restricted parameter values (Python Morphology Classes).

Syntax

{
  "partial_matches": Boolean,
  "include_downstream": Boolean,
  "sample": { // can be empty, null, or omitted
  },
  "model": { // can be empty, null, or omitted
  },
  "sim": { // can be empty, null, or omitted
  },
  "indices": {
    "sample": null, Integer, or [Integer, ...],
    "model": null, Integer, or [Integer, ...],
    "sim": null, Integer, or [Integer, ...]
  }
}

Properties

"partial_matches": The value (Boolean) indicates whether Query should return configuration indices for Sample, Model, or Sim that are a partial match (i.e., a subset of the parameters were found, but not all).

"include_downstream": The value (Boolean) indicates whether Query should return indices of downstream (Sample > Model > Sim) configurations that exist if match criteria are not provided for them.

"sample": The value is a JSON Object that mirrors the path to the parameters of interest in Sample and their value(s).

"model": The value is a JSON Object that mirrors the path to the parameters of interest in Model and their value(s).

"sim": The value is a JSON Object that mirrors the path to the parameters of interest in Sim and their value(s).

"indices":

  • "sample": The value (null, Integer, or [Integer, …]) for explicitly desired Sample indices

  • "model": The value (null, Integer, or [Integer, …]) for explicitly desired Model indices

  • "sim": The value (null, Integer, or [Integer, …]) for explicitly desired Sim indices

Note

You can have BOTH lists of desired Sample, Model, and Sim indices AND search criteria in one query_criteria.json.

Example

{
  "partial_matches": true,
  "include_downstream": true,
  "sample": {
    "sample": "Rat16-3"
  },
  "model": {
    "medium": {
      "bounds": {
        "radius": [1000, 2000]
      }
    },
    "dummy": 0
  },
  "sim": null,
  "indices": {
    "sample": null,
    "model": null,
    "sim": null
  }
}