Context#

relationalai
class Context(dynamic: bool = False)

Contexts execute blocks of code written in RelationalAI’s declarative query builder syntax. You create contexts using Model methods, such as Model.query() and Model.rule().

Parameters#

NameTypeDescription
dynamicboolWhether or not the context is dynamic. Dynamic contexts support Python control flow as query builder macros.

Attributes#

NameDescriptionType
modelThe model for which the context is created.Model
resultsThe results of a query context.Varies

Methods#

NameDescriptionReturns
.__enter__()Enters the context. Implements the context manager protocol.Context
.__exit__()Exits the context. Implements the context manager protocol.None

Example#

You create Context objects using Model methods, such as Model.rule() and Model.query(). Context objects are context managers and must be called in a with statement:

import relationalai as rai

model = rai.Model("myModel")
MyType = model.Type("MyType")

# Create a rule context with `model.rule()` that adds an object to `MyType`.
with model.rule():
    MyType.add(name="my first object")

# Create a query context with `model.query()` to query the model.
with model.query() as select:
    obj = MyType()
    response = select(obj.name)

print(response.results)
# Output:
#               name
# 0  my first object

The following Model methods all return Context objects:

See Also#