From ff23e7848bda7d3da1e445f6cccf731e5a7fe416 Mon Sep 17 00:00:00 2001 From: Michael Macaulay Date: Fri, 11 Apr 2025 17:26:13 -0400 Subject: [PATCH 1/9] Rewrite beginning --- .../pages/en/subgraphs/querying/graphql-api.mdx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/website/src/pages/en/subgraphs/querying/graphql-api.mdx b/website/src/pages/en/subgraphs/querying/graphql-api.mdx index e10201771989..550d5f0b639e 100644 --- a/website/src/pages/en/subgraphs/querying/graphql-api.mdx +++ b/website/src/pages/en/subgraphs/querying/graphql-api.mdx @@ -2,7 +2,22 @@ title: GraphQL API --- -Learn about the GraphQL Query API used in The Graph. +Explore the GraphQL Query API for interacting with Subgraphs on The Graph Network. + +## Introduction + +GraphQL serves as the query language for retrieving data from Subgraphs. This reference covers the syntax, parameters, and features available for querying Subgraph data. For foundational concepts, see [Subgraph Development](/subgraphs/developing/introduction/) and [Creating a Subgraph](/developing/creating-a-subgraph/). + +## Core Concepts + +### Entities +- **Definition**: Types annotated with `@entity` in your schema represent queryable data objects. +- **Structure**: Each entity requires an `id: ID!` field as its primary identifier. + +### Schema +- **Role**: Defines the data structure and relationships via GraphQL's Interface Definition Language (IDL). +- **Query Type**: Auto-generated from your Subgraph schema. Supports only read operations (`queries`). + ## What is GraphQL? From 4e51bda0f1d637ee7a243ad9a1b72e96d1648be6 Mon Sep 17 00:00:00 2001 From: Michael Macaulay Date: Thu, 17 Apr 2025 15:49:25 -0400 Subject: [PATCH 2/9] copy edits --- website/src/pages/en/subgraphs/querying/graphql-api.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/src/pages/en/subgraphs/querying/graphql-api.mdx b/website/src/pages/en/subgraphs/querying/graphql-api.mdx index 550d5f0b639e..f1193ad3de33 100644 --- a/website/src/pages/en/subgraphs/querying/graphql-api.mdx +++ b/website/src/pages/en/subgraphs/querying/graphql-api.mdx @@ -23,8 +23,6 @@ GraphQL serves as the query language for retrieving data from Subgraphs. This re [GraphQL](https://graphql.org/learn/) is a query language for APIs and a runtime for executing those queries with your existing data. The Graph uses GraphQL to query Subgraphs. -To understand the larger role that GraphQL plays, review [developing](/subgraphs/developing/introduction/) and [creating a Subgraph](/developing/creating-a-subgraph/). - ## Queries with GraphQL In your Subgraph schema you define types called `Entities`. For each `Entity` type, `entity` and `entities` fields will be generated on the top-level `Query` type. @@ -59,7 +57,7 @@ Query all `Token` entities: ### Sorting -When querying a collection, you may: +When querying a collection, you can: - Use the `orderBy` parameter to sort by a specific attribute. - Use the `orderDirection` to specify the sort direction, `asc` for ascending or `desc` for descending. @@ -116,7 +114,7 @@ Query the first 10 tokens: } ``` -To query for groups of entities in the middle of a collection, the `skip` parameter may be used in conjunction with the `first` parameter to skip a specified number of entities starting at the beginning of the collection. +To query for groups of entities in the middle of a collection, the `skip` parameter can be used in conjunction with the `first` parameter to skip a specified number of entities starting at the beginning of the collection. #### Example using `first` and `skip` From 4d4f00700192ce5815d17feb3990f753b4275521 Mon Sep 17 00:00:00 2001 From: Michael Macaulay Date: Tue, 22 Apr 2025 12:06:47 -0400 Subject: [PATCH 3/9] Editing --- .../en/subgraphs/querying/graphql-api.mdx | 85 ++++++++----------- 1 file changed, 34 insertions(+), 51 deletions(-) diff --git a/website/src/pages/en/subgraphs/querying/graphql-api.mdx b/website/src/pages/en/subgraphs/querying/graphql-api.mdx index f1193ad3de33..d6e2a621755e 100644 --- a/website/src/pages/en/subgraphs/querying/graphql-api.mdx +++ b/website/src/pages/en/subgraphs/querying/graphql-api.mdx @@ -4,32 +4,31 @@ title: GraphQL API Explore the GraphQL Query API for interacting with Subgraphs on The Graph Network. -## Introduction +## What is GraphQL? -GraphQL serves as the query language for retrieving data from Subgraphs. This reference covers the syntax, parameters, and features available for querying Subgraph data. For foundational concepts, see [Subgraph Development](/subgraphs/developing/introduction/) and [Creating a Subgraph](/developing/creating-a-subgraph/). +[GraphQL](https://graphql.org/learn/) is a query language for APIs and a runtime for executing those queries with your existing data. The Graph uses GraphQL to query Subgraphs. ## Core Concepts ### Entities -- **Definition**: Types annotated with `@entity` in your schema represent queryable data objects. -- **Structure**: Each entity requires an `id: ID!` field as its primary identifier. +- **What they are**: Persistent data objects defined with `@entity` in your schema +- **Key requirement**: Must contain `id: ID!` as primary identifier +- **Usage**: Foundation for all query operations ### Schema -- **Role**: Defines the data structure and relationships via GraphQL's Interface Definition Language (IDL). -- **Query Type**: Auto-generated from your Subgraph schema. Supports only read operations (`queries`). - - -## What is GraphQL? - -[GraphQL](https://graphql.org/learn/) is a query language for APIs and a runtime for executing those queries with your existing data. The Graph uses GraphQL to query Subgraphs. +- **Purpose**: Blueprint defining the data structure and relationships using GraphQL [IDL](https://facebook.github.io/graphql/draft/#sec-Type-System) +- **Key characteristics**: + - Auto-generates query endpoints + - Read-only operations (no mutations) + - Defines entity interfaces and derived fields ## Queries with GraphQL -In your Subgraph schema you define types called `Entities`. For each `Entity` type, `entity` and `entities` fields will be generated on the top-level `Query` type. +In the Subgraph schema, types called `Entities`. For each `Entity` type, `entity` and `entities` fields will be generated on the top-level `Query` type. -> Note: `query` does not need to be included at the top of the `graphql` query when using The Graph. +### Example Queries -### Examples +> Note: `query` does not need to be included at the top of the `graphql` query when using The Graph. Query for a single `Token` entity defined in your schema: @@ -73,7 +72,7 @@ When querying a collection, you can: } ``` -#### Example for nested entity sorting +#### Example for Nested Entity Sorting As of Graph Node [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0) entities can be sorted on the basis of nested entities. @@ -101,7 +100,7 @@ When querying a collection, it's best to: - Use the `skip` parameter to skip entities and paginate. For instance, `first:100` shows the first 100 entities and `first:100, skip:100` shows the next 100 entities. - Avoid using `skip` values in queries because they generally perform poorly. To retrieve a large number of items, it's best to page through entities based on an attribute as shown in the previous example above. -#### Example using `first` +#### Example Using `first` Query the first 10 tokens: @@ -116,7 +115,7 @@ Query the first 10 tokens: To query for groups of entities in the middle of a collection, the `skip` parameter can be used in conjunction with the `first` parameter to skip a specified number of entities starting at the beginning of the collection. -#### Example using `first` and `skip` +#### Example Using `first` and `skip` Query 10 `Token` entities, offset by 10 places from the beginning of the collection: @@ -129,7 +128,7 @@ Query 10 `Token` entities, offset by 10 places from the beginning of the collect } ``` -#### Example using `first` and `id_ge` +#### Example Using `first` and `id_ge` If a client needs to retrieve a large number of entities, it's more performant to base queries on an attribute and filter by that attribute. For example, a client could retrieve a large number of tokens using this query: @@ -149,9 +148,9 @@ The first time, it would send the query with `lastID = ""`, and for subsequent r - You can use the `where` parameter in your queries to filter for different properties. - You can filter on multiple values within the `where` parameter. -#### Example using `where` +#### `where` Filtering -Query challenges with `failed` outcome: +Query challenges with `failed` outcome using 'where' filter: ```graphql { @@ -167,7 +166,7 @@ Query challenges with `failed` outcome: You can use suffixes like `_gt`, `_lte` for value comparison: -#### Example for range filtering +#### Range Filtering ```graphql { @@ -179,7 +178,7 @@ You can use suffixes like `_gt`, `_lte` for value comparison: } ``` -#### Example for block filtering +#### Block Filtering You can also filter entities that were updated in or after a specified block with `_change_block(number_gte: Int)`. @@ -195,7 +194,7 @@ This can be useful if you are looking to fetch only entities which have changed, } ``` -#### Example for nested entity filtering +#### Nested Entity Filtering Filtering on the basis of nested entities is possible in the fields with the `_` suffix. @@ -213,7 +212,7 @@ This can be useful if you are looking to fetch only entities whose child-level e } ``` -#### Logical operators +### Logical Operators As of Graph Node [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0) you can group multiple parameters in the same `where` argument using the `and` or the `or` operators to filter results based on more than one criteria. @@ -263,7 +262,7 @@ The following example filters for challenges with `outcome` `succeeded` or `numb } ``` -> **Note**: When constructing queries, it is important to consider the performance impact of using the `or` operator. While `or` can be a useful tool for broadening search results, it can also have significant costs. One of the main issues with `or` is that it can cause queries to slow down. This is because `or` requires the database to scan through multiple indexes, which can be a time-consuming process. To avoid these issues, it is recommended that developers use and operators instead of or whenever possible. This allows for more precise filtering and can lead to faster, more accurate queries. +> **Note**: When writing queries, it is important to consider the performance impact of using the `or` operator. While `or` can be a useful tool for broadening search results, it can also have significant costs. One of the main issues with `or` is that it can cause queries to slow down. This is because `or` requires the database to scan through multiple indexes, which can be a time-consuming process. To avoid these issues, it is recommended that developers use and operators instead of or whenever possible. This allows for more precise filtering and can lead to faster, more accurate queries. #### All Filters @@ -300,7 +299,7 @@ In addition, the following global filters are available as part of `where` argum _change_block(number_gte: Int) ``` -### Time-travel queries +### Time-travel Queries You can query the state of your entities not just for the latest block, which is the default, but also for an arbitrary block in the past. The block at which a query should happen can be specified either by its block number or its block hash by including a `block` argument in the toplevel fields of queries. @@ -308,7 +307,7 @@ The result of such a query will not change over time, i.e., querying at a certai > Note: The current implementation is still subject to certain limitations that might violate these guarantees. The implementation can not always tell that a given block hash is not on the main chain at all, or if a query result by a block hash for a block that is not yet considered final could be influenced by a block reorganization running concurrently with the query. They do not affect the results of queries by block hash when the block is final and known to be on the main chain. [This issue](https://github.com/graphprotocol/graph-node/issues/1405) explains what these limitations are in detail. -#### Example +#### Example Time-travel Queries ```graphql { @@ -324,8 +323,6 @@ The result of such a query will not change over time, i.e., querying at a certai This query will return `Challenge` entities, and their associated `Application` entities, as they existed directly after processing block number 8,000,000. -#### Example - ```graphql { challenges(block: { hash: "0x5a0b54d5dc17e0aadc383d2db43b0a0d3e029c4c" }) { @@ -340,13 +337,13 @@ This query will return `Challenge` entities, and their associated `Application` This query will return `Challenge` entities, and their associated `Application` entities, as they existed directly after processing the block with the given hash. -### Fulltext Search Queries +### Full-text Search Queries -Fulltext search query fields provide an expressive text search API that can be added to the Subgraph schema and customized. Refer to [Defining Fulltext Search Fields](/developing/creating-a-subgraph/#defining-fulltext-search-fields) to add fulltext search to your Subgraph. +Full-text search query fields provide an expressive text search API that can be added to the Subgraph schema and customized. Refer to [Defining Full-text Search Fields](/developing/creating-a-subgraph/#defining-fulltext-search-fields) to add full-text search to your Subgraph. -Fulltext search queries have one required field, `text`, for supplying search terms. Several special fulltext operators are available to be used in this `text` search field. +Full-text search queries have one required field, `text`, for supplying search terms. Several special full-text operators are available to be used in this `text` search field. -Fulltext search operators: +Full-text search operators: | Symbol | Operator | Description | | --- | --- | --- | @@ -355,9 +352,9 @@ Fulltext search operators: | `<->` | `Follow by` | Specify the distance between two words. | | `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | -#### Examples +#### Full-text Query Examples -Using the `or` operator, this query will filter to blog entities with variations of either "anarchism" or "crumpet" in their fulltext fields. +Using the `or` operator, this query will filter to blog entities with variations of either "anarchism" or "crumpet" in their full-text fields. ```graphql { @@ -370,7 +367,7 @@ Using the `or` operator, this query will filter to blog entities with variations } ``` -The `follow by` operator specifies a words a specific distance apart in the fulltext documents. The following query will return all blogs with variations of "decentralize" followed by "philosophy" +The `follow by` operator specifies that two words must appear a specific distance apart in full-text documents.. The following query will return all blogs with variations of "decentralize" followed by "philosophy" ```graphql { @@ -383,7 +380,7 @@ The `follow by` operator specifies a words a specific distance apart in the full } ``` -Combine fulltext operators to make more complex filters. With a pretext search operator combined with a follow by this example query will match all blog entities with words that start with "lou" followed by "music". +Combine full-text operators to make more complex filters. With a pretext search operator combined with a follow by this example query will match all blog entities with words that start with "lou" followed by "music". ```graphql { @@ -400,20 +397,6 @@ Combine fulltext operators to make more complex filters. With a pretext search o Graph Node implements [specification-based](https://spec.graphql.org/October2021/#sec-Validation) validation of the GraphQL queries it receives using [graphql-tools-rs](https://github.com/dotansimha/graphql-tools-rs#validation-rules), which is based on the [graphql-js reference implementation](https://github.com/graphql/graphql-js/tree/main/src/validation). Queries which fail a validation rule do so with a standard error - visit the [GraphQL spec](https://spec.graphql.org/October2021/#sec-Validation) to learn more. -## Schema - -The schema of your dataSources, i.e. the entity types, values, and relationships that are available to query, are defined through the [GraphQL Interface Definition Language (IDL)](https://facebook.github.io/graphql/draft/#sec-Type-System). - -GraphQL schemas generally define root types for `queries`, `subscriptions` and `mutations`. The Graph only supports `queries`. The root `Query` type for your Subgraph is automatically generated from the GraphQL schema that's included in your [Subgraph manifest](/developing/creating-a-subgraph/#components-of-a-subgraph). - -> Note: Our API does not expose mutations because developers are expected to issue transactions directly against the underlying blockchain from their applications. - -### Entities - -All GraphQL types with `@entity` directives in your schema will be treated as entities and must have an `ID` field. - -> **Note:** Currently, all types in your schema must have an `@entity` directive. In the future, we will treat types without an `@entity` directive as value objects, but this is not yet supported. - ### Subgraph Metadata All Subgraphs have an auto-generated `_Meta_` object, which provides access to Subgraph metadata. This can be queried as follows: From 615b390773af129b8a8f3e4e60e92ea0cf3f8da4 Mon Sep 17 00:00:00 2001 From: Michael Macaulay Date: Tue, 22 Apr 2025 12:19:50 -0400 Subject: [PATCH 4/9] Fix typo --- website/src/pages/en/subgraphs/querying/graphql-api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/subgraphs/querying/graphql-api.mdx b/website/src/pages/en/subgraphs/querying/graphql-api.mdx index d6e2a621755e..e86e088d1887 100644 --- a/website/src/pages/en/subgraphs/querying/graphql-api.mdx +++ b/website/src/pages/en/subgraphs/querying/graphql-api.mdx @@ -16,7 +16,7 @@ Explore the GraphQL Query API for interacting with Subgraphs on The Graph Networ - **Usage**: Foundation for all query operations ### Schema -- **Purpose**: Blueprint defining the data structure and relationships using GraphQL [IDL](https://facebook.github.io/graphql/draft/#sec-Type-System) +- **Purpose**: Blueprint defining the data structure and relationships using GraphQL [IDL](https://facebook.github.io/graphql/draft/#sec-Type-System) - **Key characteristics**: - Auto-generates query endpoints - Read-only operations (no mutations) From 842b8bb24ee29652e4dcfcaa5cccf7f200ee3aa1 Mon Sep 17 00:00:00 2001 From: Michael Macaulay Date: Tue, 22 Apr 2025 12:22:32 -0400 Subject: [PATCH 5/9] Fix build --- website/src/pages/en/subgraphs/querying/graphql-api.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/src/pages/en/subgraphs/querying/graphql-api.mdx b/website/src/pages/en/subgraphs/querying/graphql-api.mdx index e86e088d1887..79b449ab6991 100644 --- a/website/src/pages/en/subgraphs/querying/graphql-api.mdx +++ b/website/src/pages/en/subgraphs/querying/graphql-api.mdx @@ -11,11 +11,13 @@ Explore the GraphQL Query API for interacting with Subgraphs on The Graph Networ ## Core Concepts ### Entities + - **What they are**: Persistent data objects defined with `@entity` in your schema - **Key requirement**: Must contain `id: ID!` as primary identifier - **Usage**: Foundation for all query operations ### Schema + - **Purpose**: Blueprint defining the data structure and relationships using GraphQL [IDL](https://facebook.github.io/graphql/draft/#sec-Type-System) - **Key characteristics**: - Auto-generates query endpoints @@ -346,9 +348,9 @@ Full-text search queries have one required field, `text`, for supplying search t Full-text search operators: | Symbol | Operator | Description | -| --- | --- | --- | +| --- | --- | --- | --- | | `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | | `<->` | `Follow by` | Specify the distance between two words. | | `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | From f135af6adcf0ff711aa652c82d91978126e08d2d Mon Sep 17 00:00:00 2001 From: Michael Macaulay Date: Tue, 22 Apr 2025 12:41:45 -0400 Subject: [PATCH 6/9] Copy tweak --- website/src/pages/en/subgraphs/querying/graphql-api.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/src/pages/en/subgraphs/querying/graphql-api.mdx b/website/src/pages/en/subgraphs/querying/graphql-api.mdx index 79b449ab6991..e972bf5eab74 100644 --- a/website/src/pages/en/subgraphs/querying/graphql-api.mdx +++ b/website/src/pages/en/subgraphs/querying/graphql-api.mdx @@ -234,8 +234,8 @@ The following example filters for challenges with `outcome` `succeeded` and `num } ``` -> **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +**Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. + > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { From cb39acbc6a27632b066fc4f5e69ddea225c558af Mon Sep 17 00:00:00 2001 From: Michael Macaulay Date: Tue, 22 Apr 2025 12:45:58 -0400 Subject: [PATCH 7/9] Fix table --- website/src/pages/en/subgraphs/querying/graphql-api.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/src/pages/en/subgraphs/querying/graphql-api.mdx b/website/src/pages/en/subgraphs/querying/graphql-api.mdx index e972bf5eab74..dbe89b95f2a2 100644 --- a/website/src/pages/en/subgraphs/querying/graphql-api.mdx +++ b/website/src/pages/en/subgraphs/querying/graphql-api.mdx @@ -348,9 +348,9 @@ Full-text search queries have one required field, `text`, for supplying search t Full-text search operators: | Symbol | Operator | Description | -| --- | --- | --- | --- | +| --- | --- | --- | | `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | | `<->` | `Follow by` | Specify the distance between two words. | | `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | From 222bac3902cb4136a374d048ec3a73025c353634 Mon Sep 17 00:00:00 2001 From: Michael Macaulay Date: Tue, 22 Apr 2025 12:53:33 -0400 Subject: [PATCH 8/9] Fix errors --- website/src/pages/en/subgraphs/querying/graphql-api.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/src/pages/en/subgraphs/querying/graphql-api.mdx b/website/src/pages/en/subgraphs/querying/graphql-api.mdx index dbe89b95f2a2..79b449ab6991 100644 --- a/website/src/pages/en/subgraphs/querying/graphql-api.mdx +++ b/website/src/pages/en/subgraphs/querying/graphql-api.mdx @@ -234,8 +234,8 @@ The following example filters for challenges with `outcome` `succeeded` and `num } ``` -**Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. - +> **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -348,9 +348,9 @@ Full-text search queries have one required field, `text`, for supplying search t Full-text search operators: | Symbol | Operator | Description | -| --- | --- | --- | +| --- | --- | --- | --- | | `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | | `<->` | `Follow by` | Specify the distance between two words. | | `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | From d278384c484553d4a92a64f756fef44b055f062c Mon Sep 17 00:00:00 2001 From: Michael Macaulay Date: Tue, 22 Apr 2025 13:02:17 -0400 Subject: [PATCH 9/9] Actually fixing --- website/src/pages/en/subgraphs/querying/graphql-api.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/src/pages/en/subgraphs/querying/graphql-api.mdx b/website/src/pages/en/subgraphs/querying/graphql-api.mdx index 79b449ab6991..2c8a6da7fbd7 100644 --- a/website/src/pages/en/subgraphs/querying/graphql-api.mdx +++ b/website/src/pages/en/subgraphs/querying/graphql-api.mdx @@ -150,7 +150,7 @@ The first time, it would send the query with `lastID = ""`, and for subsequent r - You can use the `where` parameter in your queries to filter for different properties. - You can filter on multiple values within the `where` parameter. -#### `where` Filtering +#### Using `where` Filtering Query challenges with `failed` outcome using 'where' filter: @@ -218,7 +218,7 @@ This can be useful if you are looking to fetch only entities whose child-level e As of Graph Node [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0) you can group multiple parameters in the same `where` argument using the `and` or the `or` operators to filter results based on more than one criteria. -##### `AND` Operator +#### Using `and` Operator The following example filters for challenges with `outcome` `succeeded` and `number` greater than or equal to `100`. @@ -248,7 +248,7 @@ The following example filters for challenges with `outcome` `succeeded` and `num > } > ``` -##### `OR` Operator +#### Using `or` Operator The following example filters for challenges with `outcome` `succeeded` or `number` greater than or equal to `100`.