Documentation ¶
Index ¶
- Constants
- func GraphQLJSONToCSV(ctx context.Context, r io.Reader, w io.Writer) (int32, error)
- type Category
- type Client
- func (c *Client) Checker(ctx context.Context, state *healthcheck.CheckState) error
- func (c *Client) CheckerAPIExt(ctx context.Context, state *healthcheck.CheckState) error
- func (c *Client) CheckerMetadataService(ctx context.Context, state *healthcheck.CheckState) error
- func (c *Client) GetAggregatedDimensionOptions(ctx context.Context, req GetAggregatedDimensionOptionsRequest) (*GetAggregatedDimensionOptionsResponse, error)
- func (c *Client) GetAllDimensions(ctx context.Context, dataset string) (*GetDimensionsResponse, error)
- func (c *Client) GetArea(ctx context.Context, req GetAreaRequest) (*GetAreaResponse, error)
- func (c *Client) GetAreas(ctx context.Context, req GetAreasRequest) (*GetAreasResponse, error)
- func (c *Client) GetAreasTotalCount(ctx context.Context, req GetAreasRequest) (int, error)
- func (c *Client) GetBaseVariable(ctx context.Context, req GetBaseVariableRequest) (*GetBaseVariableResponse, error)
- func (c *Client) GetCategorisations(ctx context.Context, req GetCategorisationsRequest) (*GetCategorisationsResponse, error)
- func (c *Client) GetCodebook(ctx context.Context, req GetCodebookRequest) (*GetCodebookResponse, error)
- func (c *Client) GetDimensionOptions(ctx context.Context, req GetDimensionOptionsRequest) (*GetDimensionOptionsResponse, error)
- func (c *Client) GetDimensions(ctx context.Context, req GetDimensionsRequest) (*GetDimensionsResponse, error)
- func (c *Client) GetDimensionsByName(ctx context.Context, req GetDimensionsByNameRequest) (*GetDimensionsResponse, error)
- func (c *Client) GetGeographyBatchProcess(ctx context.Context, datasetID string, processBatch GetGeographyBatchProcessor, ...) error
- func (c *Client) GetGeographyDimensions(ctx context.Context, req GetGeographyDimensionsRequest) (*GetGeographyDimensionsResponse, error)
- func (c *Client) GetGeographyDimensionsInBatches(ctx context.Context, datasetID string, batchSize, maxWorkers int) (*gql.Dataset, error)
- func (c *Client) GetParentAreaCount(ctx context.Context, req GetParentAreaCountRequest) (*GetParentAreaCountResult, error)
- func (c *Client) GetParents(ctx context.Context, req GetParentsRequest) (*GetParentsResponse, error)
- func (c *Client) ListDatasets(ctx context.Context) ([]string, error)
- func (c *Client) MetadataDatasetQuery(ctx context.Context, req MetadataDatasetQueryRequest) (*MetadataDatasetQuery, error)
- func (c *Client) MetadataTableQuery(ctx context.Context, req MetadataTableQueryRequest) (*MetadataTableQuery, error)
- func (c *Client) ParseTable(table Table) (*bufio.Reader, error)
- func (c *Client) SearchDimensions(ctx context.Context, req SearchDimensionsRequest) (*GetDimensionsResponse, error)
- func (c *Client) StaticDatasetQuery(ctx context.Context, req StaticDatasetQueryRequest) (*StaticDatasetQuery, error)
- func (c *Client) StaticDatasetQueryStreamCSV(ctx context.Context, req StaticDatasetQueryRequest, consume Consumer) (int32, error)
- func (c *Client) StatusCode(err error) int
- type Codebook
- type Config
- type Consumer
- type Dataset
- type Dimension
- type Dimensions
- type DimensionsTable
- type ErrorResponse
- type Filter
- type GetAggregatedDimensionOptionsRequest
- type GetAggregatedDimensionOptionsResponse
- type GetAreaRequest
- type GetAreaResponse
- type GetAreasRequest
- type GetAreasResponse
- type GetBaseVariableRequest
- type GetBaseVariableResponse
- type GetCategorisationsRequest
- type GetCategorisationsResponse
- type GetCodebookRequest
- type GetCodebookResponse
- type GetDimensionOptionsRequest
- type GetDimensionOptionsResponse
- type GetDimensionsByNameRequest
- type GetDimensionsRequest
- type GetDimensionsResponse
- type GetGeographyBatchProcessor
- type GetGeographyDimensionsRequest
- type GetGeographyDimensionsResponse
- type GetParentAreaCountRequest
- type GetParentAreaCountResponse
- type GetParentAreaCountResult
- type GetParentsRequest
- type GetParentsResponse
- type GraphQLClient
- type Iterator
- type ListDatasetsItem
- type ListDatasetsQuery
- type MapFrom
- type MetadataDatasetQuery
- type MetadataDatasetQueryRequest
- type MetadataQueryResult
- type MetadataTableQuery
- type MetadataTableQueryRequest
- type PaginationParams
- type PaginationResponse
- type QueryData
- type SearchDimensionsRequest
- type StaticDataset
- type StaticDatasetDimensionOptions
- type StaticDatasetQuery
- type StaticDatasetQueryRequest
- type Table
- type Variable
- type VariableBase
Constants ¶
const ( Service = "cantabular" ServiceAPIExt = "cantabularAPIExt" ServiceMetadata = "cantabularMetadataService" SoftwareVersion = "v10" )
Cantabular service names
const QueryAggregatedDimensionOptions = `` /* 265-byte string literal not displayed */
QueryAggregatedDimensionOptions is the graphQL query to obtain static dataset dimension options for aggregated population types
const QueryAllDimensions = `` /* 267-byte string literal not displayed */
QueryAllDimensions is the graphQL query to obtain all dimensions (variables without categories)
const QueryArea = `` /* 302-byte string literal not displayed */
QueryArea is the graphQL query to search for an area which exactly match a specific string.
const QueryAreas = `` /* 390-byte string literal not displayed */
QueryAreas is the graphQL query to search for areas and area types which match a specific string. This can be used to retrieve a list of all the areas for a given area type, or to search for specific area within all area types.
const QueryAreasWithoutPagination = `` /* 332-byte string literal not displayed */
QueryAreasWithoutPagination is the graphQL query to search for areas and area types which match a specific string.
const QueryBaseVariable = `` /* 248-byte string literal not displayed */
const QueryCategorisations = `` /* 289-byte string literal not displayed */
const QueryDimensionOptions = `` /* 248-byte string literal not displayed */
QueryDimensionOptions is the graphQL query to obtain static dataset dimension options (variables with categories)
const QueryDimensions = `` /* 345-byte string literal not displayed */
QueryDimensions is the graphQL query to obtain all non-geography base dimensions (variables without categories)
const QueryDimensionsByName = `` /* 310-byte string literal not displayed */
QueryDimensionsByName is the graphQL query to obtain dimensions by name (subset of variables, without categories)
const QueryDimensionsSearch = `` /* 303-byte string literal not displayed */
const QueryGeographyDimensions = `` /* 387-byte string literal not displayed */
QueryGeographyDimensions is the graphQL query to obtain geography dimensions (subset of variables, without categories)
const QueryParentAreaCount = `` /* 238-byte string literal not displayed */
const QueryParents = `` /* 357-byte string literal not displayed */
const QueryStaticDataset = `` /* 268-byte string literal not displayed */
QueryStaticDataset is the graphQL query to obtain static dataset counts (variables with categories and counts)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is the client for interacting with the Cantabular API
func NewClient ¶
func NewClient(cfg Config, ua httpClient, g GraphQLClient) *Client
NewClient returns a new Client
func (*Client) Checker ¶
func (c *Client) Checker(ctx context.Context, state *healthcheck.CheckState) error
Checker contacts the /vXX/datasets endpoint and updates the healthcheck state accordingly.
func (*Client) CheckerAPIExt ¶ added in v2.4.0
func (c *Client) CheckerAPIExt(ctx context.Context, state *healthcheck.CheckState) error
CheckerAPIExt contacts the /graphql endpoint with an empty query and updates the healthcheck state accordingly.
func (*Client) CheckerMetadataService ¶ added in v2.196.0
func (c *Client) CheckerMetadataService(ctx context.Context, state *healthcheck.CheckState) error
CheckerMetadataService contacts the /graphql endpoint and updates the healthcheck state accordingly.
func (*Client) GetAggregatedDimensionOptions ¶ added in v2.168.0
func (c *Client) GetAggregatedDimensionOptions(ctx context.Context, req GetAggregatedDimensionOptionsRequest) (*GetAggregatedDimensionOptionsResponse, error)
GetAggregatedDimensionOptions performs an alternative graphQL query to obtain the requested dimension options, specifically for aggregated population type static datasets
func (*Client) GetAllDimensions ¶ added in v2.163.0
func (c *Client) GetAllDimensions(ctx context.Context, dataset string) (*GetDimensionsResponse, error)
GetAllDimensions performs a graphQL query to obtain all the dimensions for the provided cantabular dataset. The whole response is loaded to memory.
func (*Client) GetArea ¶ added in v2.175.0
func (c *Client) GetArea(ctx context.Context, req GetAreaRequest) (*GetAreaResponse, error)
GetArea performs a graphQL query to retrieve the exact area (category) for a given area type
func (*Client) GetAreas ¶ added in v2.96.11
func (c *Client) GetAreas(ctx context.Context, req GetAreasRequest) (*GetAreasResponse, error)
GetAreas performs a graphQL query to retrieve the areas (categories) for a given area type. If the category is left empty, then all categories are returned. Results can also be filtered by area by passing a variable name.
func (*Client) GetAreasTotalCount ¶ added in v2.198.0
func (*Client) GetBaseVariable ¶ added in v2.184.0
func (c *Client) GetBaseVariable(ctx context.Context, req GetBaseVariableRequest) (*GetBaseVariableResponse, error)
(c *Client) GetBaseVariable gets a base variable for a provided catergorisation
func (*Client) GetCategorisations ¶ added in v2.173.0
func (c *Client) GetCategorisations(ctx context.Context, req GetCategorisationsRequest) (*GetCategorisationsResponse, error)
GetCategorisations returns a list of variables that map to the provided variable
func (*Client) GetCodebook ¶
func (c *Client) GetCodebook(ctx context.Context, req GetCodebookRequest) (*GetCodebookResponse, error)
GetCodebook gets a Codebook from cantabular.
func (*Client) GetDimensionOptions ¶ added in v2.7.1
func (c *Client) GetDimensionOptions(ctx context.Context, req GetDimensionOptionsRequest) (*GetDimensionOptionsResponse, error)
GetDimensionOptions performs a graphQL query to obtain the requested dimension options. It returns a Table with a list of Cantabular dimensions, where 'Variable' is the dimension and 'Categories' are the options The whole response is loaded to memory.
func (*Client) GetDimensions ¶ added in v2.7.1
func (c *Client) GetDimensions(ctx context.Context, req GetDimensionsRequest) (*GetDimensionsResponse, error)
GetDimensions performs a graphQL query to obtain all the non-geography dimensions for the provided cantabular dataset. The whole response is loaded to memory.
func (*Client) GetDimensionsByName ¶ added in v2.7.1
func (c *Client) GetDimensionsByName(ctx context.Context, req GetDimensionsByNameRequest) (*GetDimensionsResponse, error)
GetDimensionsByName performs a graphQL query to obtain only the dimensions that match the provided dimension names for the provided cantabular dataset. The whole response is loaded to memory.
func (*Client) GetGeographyBatchProcess ¶ added in v2.163.0
func (c *Client) GetGeographyBatchProcess(ctx context.Context, datasetID string, processBatch GetGeographyBatchProcessor, batchSize, maxWorkers int) error
GetGeographyBatchProcess gets the geography dimensions from the API in batches, calling the provided function for each batch.
func (*Client) GetGeographyDimensions ¶ added in v2.8.1
func (c *Client) GetGeographyDimensions(ctx context.Context, req GetGeographyDimensionsRequest) (*GetGeographyDimensionsResponse, error)
GetGeographyDimensions performs a graphQL query to obtain the geography dimensions for the provided cantabular dataset. The whole response is loaded to memory.
func (*Client) GetGeographyDimensionsInBatches ¶ added in v2.163.0
func (c *Client) GetGeographyDimensionsInBatches(ctx context.Context, datasetID string, batchSize, maxWorkers int) (*gql.Dataset, error)
GetGeographyDimensionsInBatches performs a graphQL query to obtain all the geography dimensions for the provided cantabular dataset. The whole response is loaded to memory.
func (*Client) GetParentAreaCount ¶ added in v2.170.0
func (c *Client) GetParentAreaCount(ctx context.Context, req GetParentAreaCountRequest) (*GetParentAreaCountResult, error)
GetParentAreaCount returns the count of the areas for the parent of the provided variable with applied filter. Also returns the list of categories itself.
func (*Client) GetParents ¶ added in v2.148.0
func (c *Client) GetParents(ctx context.Context, req GetParentsRequest) (*GetParentsResponse, error)
GetParents returns a list of variables that map to the provided variable
func (*Client) ListDatasets ¶ added in v2.9.0
func (*Client) MetadataDatasetQuery ¶ added in v2.190.0
func (c *Client) MetadataDatasetQuery(ctx context.Context, req MetadataDatasetQueryRequest) (*MetadataDatasetQuery, error)
MetadataDatasetQuery takes cantabular dataset id, language and variables (dimensions) params and returns a struct representing the metadata server response for a dataset query
func (*Client) MetadataTableQuery ¶ added in v2.190.0
func (c *Client) MetadataTableQuery(ctx context.Context, req MetadataTableQueryRequest) (*MetadataTableQuery, error)
MetadataTableQuery takes variables (typically a ONS dataset id) and language params and returns a struct representing the metadata server response for a table query which typically contain variables (dimensions) and Cantabular dataset id
func (*Client) ParseTable ¶ added in v2.1.13
ParseTable takes a table from a GraphQL response and parses it into a header and rows of counts (observations) ready to be read line-by-line.
func (*Client) SearchDimensions ¶ added in v2.9.3
func (c *Client) SearchDimensions(ctx context.Context, req SearchDimensionsRequest) (*GetDimensionsResponse, error)
SearchDimensionsRequest performs a graphQL query to obtain the dimensions that match the provided text in the provided cantabular dataset. The whole response is loaded to memory.
func (*Client) StaticDatasetQuery ¶
func (c *Client) StaticDatasetQuery(ctx context.Context, req StaticDatasetQueryRequest) (*StaticDatasetQuery, error)
StaticDatasetQuery performs a query for a static dataset against the Cantabular Extended API using the /graphql endpoint and returns a StaticDatasetQuery, loading the whole response to memory. Use this method only if large query responses are NOT expected
func (*Client) StaticDatasetQueryStreamCSV ¶ added in v2.4.0
func (c *Client) StaticDatasetQueryStreamCSV(ctx context.Context, req StaticDatasetQueryRequest, consume Consumer) (int32, error)
StaticDatasetQueryStreamCSV performs a StaticDatasetQuery call and then starts 2 go-routines to transform the response body into a CSV stream and consume the transformed output with the provided Consumer concurrently. The number of CSV rows, including the header, is returned along with any error during the process. Use this method if large query responses are expected.
func (*Client) StatusCode ¶ added in v2.9.5
StatusCode provides a callback function whereby users can check a returned error for an embedded HTTP status code
type Codebook ¶
type Codebook []Variable
Codebook represents a 'codebook' object returned from Cantabular Server
type Dataset ¶
type Dataset struct { Name string `json:"name"` Digest string `json:"digest"` Description string `json:"description"` Size int `json:"size"` RulebaseVariable string `json:"ruleBaseVariable"` DateTime time.Time `json:"datetime"` }
Dataset represents a 'dataset' object returned from Cantabular Server
type Dimension ¶
type Dimension struct { Count int `json:"count"` Categories []Category `json:"categories"` Variable VariableBase `json:"variable"` }
Dimension represents the 'dimension' field from a GraphQL query dataset response
type Dimensions ¶ added in v2.4.0
type Dimensions []Dimension
Dimensions describes the structure of a table
func (Dimensions) NewIterator ¶ added in v2.4.0
func (dims Dimensions) NewIterator(ctx context.Context) *Iterator
NewIterator creates an iterator over a table on these Dimensions
type DimensionsTable ¶ added in v2.7.1
type DimensionsTable struct { Dimensions []Dimension `json:"dimensions"` Error string `json:"error,omitempty" ` }
DimensionsTable represents the 'table' field from the GraphQL dataset response, which contains only dimensions and error fields
type ErrorResponse ¶
type ErrorResponse struct {
Message string `json:"message"`
}
ErrorResponse models the error response from cantabular
type Filter ¶ added in v2.9.6
Filter holds the fields for the Cantabular GraphQL 'Filter' object used for specifying categories returned in tables
type GetAggregatedDimensionOptionsRequest ¶ added in v2.168.0
GetAggregatedDimensionOptionsRequest holds the required inputs for the GetAggregatedDimensionOptions query
type GetAggregatedDimensionOptionsResponse ¶ added in v2.168.0
GetAggregatedDimensionOptionsResponse holds the response body for the GetAggregatedDimensionOptions query
type GetAreaRequest ¶ added in v2.175.0
GetAreaRequest holds the request required for the POST [cantabular-ext]/graphql QueryArea query
type GetAreaResponse ¶ added in v2.175.0
GetAreaResponse holds the response body for POST [cantabular-ext]/graphql
type GetAreasRequest ¶ added in v2.96.11
type GetAreasRequest struct { PaginationParams Dataset string Variable string Category string }
GetAreasRequest holds the request variables required for the POST [cantabular-ext]/graphql QueryAreas query.
type GetAreasResponse ¶ added in v2.96.11
type GetAreasResponse struct { PaginationResponse Dataset gql.Dataset `json:"dataset"` }
GetAreasResponse holds the response body for POST [cantabular-ext]/graphql with a query to obtain static dataset variables and categories, without values.
type GetBaseVariableRequest ¶ added in v2.184.0
type GetBaseVariableResponse ¶ added in v2.184.0
type GetCategorisationsRequest ¶ added in v2.173.0
type GetCategorisationsRequest struct { PaginationParams Dataset string Variable string }
GetCategorisationsRequest holds the input parameters for the GetCategorisations query
type GetCategorisationsResponse ¶ added in v2.173.0
type GetCategorisationsResponse struct { PaginationResponse Dataset gql.Dataset `json:"dataset"` }
GetCategorisationsResponse is the response body for the GetCategorisations query
type GetCodebookRequest ¶
GetCodebookRequest holds the query parameters for GET [cantabular-srv]/codebook/{dataset}?cats=xxx&v=xxx
type GetCodebookResponse ¶
type GetCodebookResponse struct { Codebook Codebook `json:"codebook"` Dataset Dataset `json:"dataset"` }
GetCodebookResponse holds the response body for GET [cantabular-srv]/codebook/{dataset}?cats=xxx&v=xxx
type GetDimensionOptionsRequest ¶ added in v2.8.1
GetDimensionOptionsRequest holds the request variables required from the caller for making a request to obtain dimension options (categories) for the provided cantabular Dataset and dimension names (Cantabular variables)
POST [cantabular-ext]/graphql with the encoded query
type GetDimensionOptionsResponse ¶ added in v2.7.1
type GetDimensionOptionsResponse struct {
Dataset StaticDatasetDimensionOptions `json:"dataset"`
}
GetDimensionOptionsResponse holds the response body for POST [cantabular-ext]/graphql with a query to obtain static dataset variables and categories, without values.
type GetDimensionsByNameRequest ¶ added in v2.8.1
GetDimensionsByNameRequest holds the request variables required from the caller for making a request to obtain dimensions (Cantabular variables) by name POST [cantabular-ext]/graphql
type GetDimensionsRequest ¶ added in v2.163.0
type GetDimensionsRequest struct { PaginationParams Dataset string Text string }
type GetDimensionsResponse ¶ added in v2.7.1
type GetDimensionsResponse struct { PaginationResponse Dataset gql.Dataset `json:"dataset"` }
GetDimensionsResponse holds the response body for POST [cantabular-ext]/graphql with a query to obtain variables
type GetGeographyBatchProcessor ¶ added in v2.163.0
type GetGeographyBatchProcessor func(response *GetGeographyDimensionsResponse) (abort bool, err error)
GetGeographyBatchProcessor is the type corresponding to a batch processing function for Geography dimensions
type GetGeographyDimensionsRequest ¶ added in v2.122.0
type GetGeographyDimensionsRequest struct { PaginationParams Dataset string `json:"dataset"` Text string `json:"text"` }
GetGeographyDimensionsRequest holds the request parameters for POST [cantabular-ext]/graphql with a query to obtain geography variables
type GetGeographyDimensionsResponse ¶ added in v2.8.1
type GetGeographyDimensionsResponse struct { PaginationResponse Dataset gql.Dataset `json:"dataset"` }
GetGeographyDimensionsResponse holds the response body for POST [cantabular-ext]/graphql with a query to obtain geography variables
type GetParentAreaCountRequest ¶ added in v2.170.0
type GetParentAreaCountRequest struct { Dataset string Variable string Parent string Codes []string }
GetParentAreaCountRequest holds the input parameters for the GetParents query
type GetParentAreaCountResponse ¶ added in v2.170.0
type GetParentAreaCountResponse struct { Dataset struct { Table Table `json:"table` } `json:"dataset"` }
GetParentAreaCountResponse is the response body for the GetParentAreaCount query
type GetParentAreaCountResult ¶ added in v2.170.0
type GetParentAreaCountResult struct {
Dimension Dimension
}
GetParentAreaCountResult is the useful part of the response for GetParentAreaCount
type GetParentsRequest ¶ added in v2.148.0
type GetParentsRequest struct { PaginationParams Dataset string Variable string }
GetParentsRequest holds the input parameters for the GetParents query
type GetParentsResponse ¶ added in v2.148.0
type GetParentsResponse struct { PaginationResponse Dataset gql.Dataset `json:"dataset"` }
GetParentsResponse is the response body for the GetParents query
type GraphQLClient ¶
type GraphQLClient interface {
Query(ctx context.Context, query interface{}, vars map[string]interface{}) error
}
GraphQLClient is the Client used by the GraphQL package to make queries
type Iterator ¶ added in v2.4.0
type Iterator struct {
// contains filtered or unexported fields
}
Iterator facilitates reading the coordinates of each cell in row-major order
func (*Iterator) CategoryAtColumn ¶ added in v2.4.0
CategoryAtColumn returns the i-th coordinate of the current cell
type ListDatasetsItem ¶ added in v2.9.0
type ListDatasetsQuery ¶ added in v2.9.0
type ListDatasetsQuery struct {
Datasets []ListDatasetsItem
}
type MapFrom ¶
type MapFrom struct { SourceNames []string `json:"sourceNames,omitempty"` Code []string `json:"codes,omitempty"` }
MapFrom represents the 'mapFrom' object from variable when category information is included
type MetadataDatasetQuery ¶ added in v2.190.0
type MetadataDatasetQuery struct { Dataset struct { Label graphql.String `graphql:"label" json:"label"` Description graphql.String `graphql:"description" json:"description"` Meta struct { Source struct { Contact struct { ContactName graphql.String `graphql:"Contact_Name" json:"contact_name"` ContactEmail graphql.String `graphql:"Contact_Email" json:"contact_email"` ContactPhone graphql.String `graphql:"Contact_Phone" json:"contact_phone"` ContactWebsite graphql.String `graphql:"Contact_Website" json:"contact_website"` } `graphql:"Contact" json:"contact"` Licence graphql.String `graphql:"Licence" json:"licence"` MethodologyLink graphql.String `graphql:"Methodology_Link" json:"methodology_link"` MethodologyStatement graphql.String `graphql:"Methodology_Statement" json:"methodology_statement"` NationalStatisticCertified graphql.String `graphql:"Nationals_Statistic_Certified" json:"national_statistic_certified"` } `graphql:"Source" json:"source"` } `graphql:"meta" json:"meta"` Vars []struct { Description graphql.String `json:"description"` Label graphql.String `json:"label"` Name graphql.String `json:"name"` Meta struct { DefaultClassificationFlag graphql.String `graphql:"Default_Classification_Flag" json:"default_classification_flag"` Mnemonic2011 graphql.String `graphql:"Mnemonic_2011" json:"mnemonic_2011"` Version graphql.String `graphql:"Version" json:"version"` ONSVariable struct { ComparabilityComments graphql.String `graphql:"Comparability_Comments" json:"comparability_comments"` GeographicCoverage graphql.String `graphql:"Geographic_Coverage" json:"geographic_coverage"` GeographicTheme graphql.String `graphql:"Geographic_Theme" json:"geographic_theme"` QualityStatementText graphql.String `graphql:"Quality_Statement_Text" json:"quality_statement_text"` QualitySummaryURL graphql.String `graphql:"Quality_Summary_URL" json:"quality_summary_url"` UkComparisonComments graphql.String `graphql:"Uk_Comparison_Comments" json:"uk_comparison_comments"` VariableMnemonic graphql.String `graphql:"Variable_Mnemonic" json:"variable_mnemonic"` VariableMnemonic2011 graphql.String `graphql:"Variable_Mnemonic_2011" json:"variable_mnemonic_2011"` VariableTitle graphql.String `graphql:"Variable_Title" json:"variable_title"` Version graphql.String `graphql:"Version" json:"version"` Questions []struct { QuestionCode graphql.String `graphql:"Question_Code" json:"question_code"` QuestionFirstAskedInYear graphql.String `graphql:"Question_First_Asked_In_Year" json:"question_first_asked_in_year"` QuestionLabel graphql.String `graphql:"Question_Label" json:"question_label"` ReasonForAskingQuestion graphql.String `graphql:"Reason_For_Asking_Question" json:"reason_for_asking_question"` Version graphql.String `graphql:"Version" json:"version"` } `graphql:"Questions" json:"questions,omitempty"` StatisticalUnit struct { StatisticalUnit graphql.String `graphql:"Statistical_Unit" json:"statistical_unit"` StatisticalUnitDesc graphql.String `graphql:"Statistical_Unit_Description" json:"statistical_unit_desc"` } `graphql:"Statistical_Unit" json:"statistical_unit"` Topic struct { TopicMnemonic graphql.String `graphql:"Topic_Mnemonic" json:"topic_mnemonic"` TopicDescription graphql.String `graphql:"Topic_Description" json:"topic_description"` TopicTitle graphql.String `graphql:"Topic_Title" json:"topic_title"` } `graphql:"Topic" json:"topic"` VariableType struct { VariableTypeCode graphql.String `graphql:"Variable_Type_Code" json:"variable_type_code"` VariableTypeDescription graphql.String `graphql:"Variable_Type_Description" json:"variable_type_description"` } `graphql:"Variable_Type" json:"variable_type"` } `graphql:"ONS_Variable" json:"ONS_Variable"` Topics []struct { TopicMnemonic graphql.String `graphql:"Topic_Mnemonic" json:"topic_mnemonic"` TopicDescription graphql.String `graphql:"Topic_Description" json:"topic_description"` TopicTitle graphql.String `graphql:"Topic_Title" json:"topic_title"` } `graphql:"Topics" json:"topics"` } `json:"meta"` CatLabels *graphql.String `graphql:"catLabels" json:"catLabels,omitempty"` } `graphql:"vars(names: $vars)" json:"vars"` } `graphql:"dataset(name: $ds, lang: $lang)" json:"dataset"` }
MetadataDatasetQuery represents the metadata schema for a dataset based query. It's used for forming a request (see the graphql tags) and parsing a response (json tags)
type MetadataDatasetQueryRequest ¶ added in v2.190.0
type MetadataDatasetQueryRequest struct { Dataset string `json:"dataset"` Lang string `json:"lang"` Variables []string `json:"variables"` }
MetadataDatasetQueryRequest represents the params for a GraphQL dataset request
type MetadataQueryResult ¶ added in v2.190.0
type MetadataQueryResult struct { TableQueryResult *MetadataTableQuery `json:"table_query_result"` DatasetQueryResult *MetadataDatasetQuery `json:"dataset_query_result"` }
MetadataQueryResult represents the full response including both the table response and the dataset response
type MetadataTableQuery ¶ added in v2.190.0
type MetadataTableQuery struct { Service struct { Tables []struct { Name graphql.String `json:"name"` DatasetName graphql.String `json:"dataset_name"` Label graphql.String `json:"label"` Description graphql.String `json:"description"` Vars []graphql.String `json:"vars"` Meta struct { Alternate_Geographic_Variables []graphql.String `graphql:"Alternate_Geographic_Variables" json:"alternate_geographic_variables"` Contact struct { ContactName graphql.String `graphql:"Contact_Name" json:"contact_name"` ContactEmail graphql.String `graphql:"Contact_Email" json:"contact_email"` ContactPhone graphql.String `graphql:"Contact_Phone" json:"contact_phone"` ContactWebsite graphql.String `graphql:"Contact_Website" json:"contact_website" ` } `graphql:"Contact" json:"contact"` CensusReleases []struct { CensusReleaseDescription graphql.String `graphql:"Census_Release_Description" json:"census_release_description" ` CensusReleaseNumber graphql.String `graphql:"Census_Release_Number" json:"census_release_number" ` ReleaseDate graphql.String `graphql:"Release_Date" json:"release_date" ` } `graphql:"Census_Releases" json:"census_releases"` DatasetMnemonic2011 graphql.String `graphql:"Dataset_Mnemonic_2011" json:"dataset_mnemonic2011" ` DatasetPopulation graphql.String `graphql:"Dataset_Population" json:"dataset_population"` GeographicCoverage graphql.String `graphql:"Geographic_Coverage" json:"geographic_coverage"` LastUpdated graphql.String `graphql:"Last_Updated" json:"last_updated"` Observation_Type struct { Observation_Type_Description graphql.String `graphql:"Observation_Type_Description" json:"observation_type_description"` Observation_Type_Label graphql.String `graphql:"Observation_Type_Label" json:"observation_type_label"` Decimal_Places graphql.String `graphql:"Decimal_Places" json:"decimal_places"` Prefix graphql.String `graphql:"Prefix" json:"prefix"` Suffix graphql.String `graphql:"Suffix" json:"suffix"` FillTrailingSpaces graphql.String `graphql:"FillTrailingSpaces" json:"fill_trailing_spaces"` NegativeSign graphql.String `graphql:"NegativeSign" json:"negative_sign"` Observation_Type_Code graphql.String `graphql:"Observation_Type_Code" json:"observation_type_code"` } `graphql:"Observation_Type" json:"observation_type"` Publications []struct { PublisherName graphql.String `graphql:"Publisher_Name" json:"publisher_name"` PublicationTitle graphql.String `graphql:"Publication_Title" json:"publication_title"` PublisherWebsite graphql.String `graphql:"Publisher_Website" json:"publisher_website"` } `graphql:"Publications" json:"publications"` RelatedDatasets []graphql.String `graphql:"Related_Datasets" json:"related_datasets"` StatisticalUnit struct { StatisticalUnit graphql.String `graphql:"Statistical_Unit" json:"statistical_unit"` StatisticalUnitDescription graphql.String `graphql:"Statistical_Unit_Description" json:"statistical_unit_description"` } `graphql:"Statistical_Unit" json:"statistical_unit"` Version graphql.String `graphql:"Version" json:"version"` } `json:"meta"` } `graphql:"tables(names: $vars)" json:"tables"` } `graphql:"service(lang: $lang)" json:"service"` }
MetadataTableQuery represents the metadata schema for a table based query. It's used for forming a request (see the graphql tags) and parsing a response (json tags)
type MetadataTableQueryRequest ¶ added in v2.190.0
type MetadataTableQueryRequest struct { Lang string `json:"lang"` Variables []string `json:"variables"` }
MetadataTableQueryRequest represents the params for a GraphQL table request
type PaginationParams ¶ added in v2.122.0
type PaginationResponse ¶ added in v2.122.0
type PaginationResponse struct { PaginationParams Count int `json:"count"` TotalCount int `json:"total_count"` }
type QueryData ¶ added in v2.8.1
type QueryData struct { PaginationParams Dataset string Text string Variables []string Filters []Filter Category string Rule bool Base bool }
QueryData holds all the possible required variables to encode any of the graphql queries defined in this file.
type SearchDimensionsRequest ¶ added in v2.9.3
SearchDimensionsRequest holds the request variables required from the caller for making a request to search dimensions (Cantabular variables) by text POST [cantabular-ext]/graphql
type StaticDataset ¶
type StaticDataset struct {
Table Table `json:"table" graphql:"table(variables: $variables)"`
}
StaticDataset represents the 'dataset' field from a GraphQL static dataset query response
type StaticDatasetDimensionOptions ¶ added in v2.7.1
type StaticDatasetDimensionOptions struct {
Table DimensionsTable `json:"table"`
}
StaticDatasetDimensionOptions represents the 'dataset' field from a GraphQL static dataset query response, containing a DimensionsTable, without values
type StaticDatasetQuery ¶
type StaticDatasetQuery struct {
Dataset StaticDataset `json:"dataset" graphql:"dataset(name: $name)"`
}
StaticDatasetQuery holds the query for a static dataset landing page from POST [cantabular-ext]/graphql. It is used both as the internal query request to GraphQL as well as the response to the caller, as GraphQL query responses are essentially unmarshalled into the requests.
type StaticDatasetQueryRequest ¶
type StaticDatasetQueryRequest struct { Dataset string `json:"dataset"` Variables []string `json:"variables"` Filters []Filter `json:"filters"` }
StaticDatasetQueryRequest holds the request variables required from the caller for making a request for a static dataset landing page from POST [cantabular-ext]/graphql
type Table ¶
type Table struct { Dimensions []Dimension `json:"dimensions"` Values []int `json:"values"` Error string `json:"error,omitempty" ` }
Table represents the 'table' field from the GraphQL dataset query response
type Variable ¶
type Variable struct { VariableBase Len int `json:"len"` Codes []string `json:"codes,omitempty"` Labels []string `json:"labels,omitempty"` MapFrom []MapFrom `json:"mapFrom,omitempty"` }
Variable represents a 'variable' object returned from Cantabular
type VariableBase ¶
VariableBase represents the minimum amount of fields returned by Cantabular for a 'variable' object. Is kept separate from the full Variable struct because GraphQL/Cantabular has difficulty unmarshaling into a struct with unexpected objects (in this case MapFrom), even if they're set to not be included