msticpy.data.core.query_store module
QueryStore class - holds a collection of QuerySources.
- class msticpy.data.core.query_store.QueryStore(environment: str)
Bases:
object
Repository for query definitions for a data environment.
- environment
The data environment for the queries.
- Type
str
- data_families
The set of data families and associated queries for each.
- Type
Dict[str, Dict[str, QuerySource]]
Intialize a QueryStore for a new environment.
- Parameters
environment (str) – The data environment
- add_data_source(source: QuerySource)
Add a datasource/query to the store.
- Parameters
source (QuerySource) – The source to add. An existing item with the same name will be overwritten
- add_query(name: str, query: str, query_paths: Union[str, List[str]], description: Optional[str] = None)
Add a query from name/query text.
- Parameters
name (str) – name of the query
query (str) – The query string
query_paths (Union[str, List[str]]) – The path/data_family to categorize. Multiple paths can be specified. If the path is dotted, this will cause the query to be displayed in the corresponding hierarchy.
description (str, optional) – Query description
- find_query(query_name: str) Set[Optional[QuerySource]]
Return set of queries with name query_name.
- Parameters
query_name (str) – Name of the query
- Returns
Set (distinct) queries matching name.
- Return type
Set[QuerySource]
- get_query(query_name: str, query_path: Optional[Union[str, DataFamily]] = None) QuerySource
Return query with name data_family and query_name.
- Parameters
query_name (str) – Name of the query
query_path (Union[str, DataFamily]) – The data family for the query
- Returns
Query matching name and family.
- Return type
- import_file(query_file: str)
Import a yaml data source definition.
- Parameters
query_file (str) – Path to the file to import
- Raises
ImportError – File read error or Syntax or semantic error found in the source file.
- classmethod import_files(source_path: list, recursive: bool = True, driver_query_filter: Optional[Dict[str, Set[str]]] = None) Dict[str, QueryStore]
Import multiple query definition files from directory path.
- Parameters
source_path (str) – The folder containing the yaml definition files.
recursive (bool, optional) – True to recurse sub-directories (the default is False, which only reads from the top level)
driver_query_filter (Dict[str, Set[str]]) – A dictionary of query metadata keys and values. This is used to test each read query to see if it is relevant to the driver and should be returned in the created QueryStore dictionary.
- Returns
Dictionary of one or more environments and the QueryStore containing the queries for each environment.
- Return type
Dict[str, ‘QueryStore’]
- Raises
FileNotFoundError – File read error or Syntax or semantic error found in a source file.
- property query_names: Iterable[str]
Return list of family.query in the store.
- Returns
List of queries
- Return type
Iterable[str]