roboto.query.api#
Module Contents#
- class roboto.query.api.QualifiedRoboqlQuery(/, **data)#
Bases:
pydantic.BaseModelA RoboQL query which has been qualified with a target.
- Parameters:
data (Any)
- query: str = None#
- target: QueryTarget = None#
- class roboto.query.api.QueryContentMode#
Bases:
roboto.compat.StrEnumHint to query APIs on whether to return Roboto entities with custom metadata.
In
RecordOnlymode, Roboto entities are returned without custom metadata, ensuring a smaller and more predictable response size. Use this mode when you need lower query latency, larger result page sizes, or both.In
RecordWithMetamode, Roboto entities are returned with all available custom metadata. Use this mode if you need immediate access to metadata fields.Note: content mode support is initially available for dataset queries, and will be added incrementally for other entity types.
- RecordOnly = 'record_only'#
Query results are returned with core Roboto data attributes only.
Those attributes establish the identity and function of Roboto entities.
- RecordWithMeta = 'record_with_meta'#
Query results are returned with all available entity attributes.
This includes core Roboto data attributes as well as custom metadata.
- class roboto.query.api.QueryContext(/, **data)#
Bases:
pydantic.BaseModelContext for a query
- Parameters:
data (Any)
- query: dict[str, Any] = None#
- query_scheme: QueryScheme#
- class roboto.query.api.QueryRecord(/, **data)#
Bases:
pydantic.BaseModelA wire-transmissible representation of a query.
- Parameters:
data (Any)
- modified: datetime.datetime = None#
- org_id: str = None#
- query_ctx: QueryContext = None#
- query_id: str = None#
- result_count: int = None#
- status: QueryStatus = None#
- submitted: datetime.datetime = None#
- submitted_by: str = None#
- target: QueryTarget = None#
- class roboto.query.api.QueryScheme#
Bases:
roboto.compat.StrEnumA specific query format/schema which can be used in combination with some context JSON to provide all information required to execute a query.
- QuerySpecV1 = 'query_spec_v1'#
The initial variant of roboto.query.QuerySpecification which powered search since mid 2023.
- class roboto.query.api.QueryStatus(*args, **kwds)#
Bases:
enum.EnumThe query lifecycle state of a given query.
- Failed = 'failed'#
Indicates the query failed to execute.
- ResultsAvailable = 'results_available'#
Indicates that query results are available for clients to retrieve.
Results might be available immediately, such as in paginated database search, or once a (potentially expensive) calculation completes for more advanced search modalities.
- Scheduled = 'scheduled'#
Indicates the query is scheduled for execution.
- class roboto.query.api.QueryStorageContext(/, **data)#
Bases:
pydantic.BaseModelContext for query storage
- Parameters:
data (Any)
- storage_ctx: dict[str, Any] = None#
- storage_scheme: QueryStorageScheme#
- class roboto.query.api.QueryStorageScheme#
Bases:
roboto.compat.StrEnumA specific query result storage format/schema which can be used in combination with some context JSON to provide all information required to vend query results
- S3ManifestV1 = 's3_manifest_v1'#
Query results are in S3, and a manifest file enumerates the result parts and how to resolve them into rows.
- class roboto.query.api.QueryTarget#
Bases:
roboto.compat.StrEnumThe type of resource a specific query is requesting.
- Collections = 'collections'#
- Datasets = 'datasets'#
- Events = 'events'#
- Files = 'files'#
- TopicMessagePaths = 'topic_message_paths'#
- Topics = 'topics'#
- class roboto.query.api.SubmitRoboqlQueryRequest(/, **data)#
Bases:
pydantic.BaseModelRequest payload to submit a RoboQL query
- Parameters:
data (Any)
- content_mode: QueryContentMode = None#
- query: str | None = None#
- target: QueryTarget = None#
- class roboto.query.api.SubmitStructuredQueryRequest(/, **data)#
Bases:
pydantic.BaseModelRequest payload to submit a structured query
- Parameters:
data (Any)
- content_mode: QueryContentMode = None#
- query: roboto.query.specification.QuerySpecification = None#
- target: QueryTarget = None#
- class roboto.query.api.SubmitTermQueryRequest(/, **data)#
Bases:
pydantic.BaseModelRequest payload to submit a simple term query
- Parameters:
data (Any)
- content_mode: QueryContentMode = None#
- target: QueryTarget = None#
- term: str = None#