Skip to content

Lineage queries

A lineage field stores values that form a hierarchy. For example, if B.1.1 is a sub-lineage of B.1, then a query for B.1* can include records assigned to B.1, B.1.1, B.1.1.7, and other descendants.

Without a wildcard, lineage filters match only the exact lineage value:

GET /sample/aggregated?lineageField=B.1.1

This returns records whose lineage field value is exactly B.1.1.

To include sub-lineages, add * at the end of the lineage:

GET /sample/aggregated?lineageField=B.1.1*

B.1.1* and B.1.1.* are equivalent. Both match B.1.1 itself and descendants such as B.1.1.7.

Lineage-indexed fields can also be used in advanced queries:

GET /sample/aggregated?advancedQuery=lineageField=B.1.1*

In POST requests, use the same expression as the advancedQuery value:

{
"advancedQuery": "lineageField=B.1.1*"
}