Predicates

This document describes all available predicates in Querymate for building filter expressions.

Basic Predicates

Pattern Matching Predicates

Presence Predicates

Comparison Predicates

String Predicates

Case-Insensitive Predicates

Boolean Predicates

Predicate

Operator

Description

true

IS true

Is true

false

IS false

Is false

Examples

Basic Usage

from querymate.core.filter import FilterBuilder
from models import User

builder = FilterBuilder(User)
filters = {
    "name": {"eq": "John"},
    "age": {"gt": 18}
}
result = builder.build(filters)

Pattern Matching

filters = {
    "name": {"matches": "John%"},
    "email": {"i_cont": "gmail"}
}

Multiple Values

filters = {
    "age": {"gt_any": [18, 21]},
    "name": {"start_any": ["John", "Jane"]}
}

Combining Conditions

filters = {
    "and": [
        {"age": {"gt": 18}},
        {"name": {"cont": "John"}},
        {"email": {"present": None}}
    ]
}