Skip to content

LogicReasonerConfig

relationalai.config.config_reasoners_fields

Configure rule-execution defaults for the logic reasoner.

Set these fields under reasoners.logic to control how the logic reasoner runs rules (for example, whether to use LQP) and to opt into an LQP semantics version when required.

Minimal YAML (in raiconfig.yaml):

default_connection: sf
connections:
sf:
type: snowflake
# ...
reasoners:
logic:
incremental_maintenance: "on"

Configure logic reasoner settings using a dict:

from relationalai.config import create_config
cfg = create_config(
reasoners={"logic": {"use_lqp": True, "lqp": {"semantics_version": "1"}}}
)

Configure logic reasoner settings using an explicit LogicReasonerConfig instance:

from relationalai.config import create_config, LogicReasonerConfig
cfg = create_config(
reasoners={
"logic": LogicReasonerConfig(use_lqp=True, lqp={"semantics_version": "1"})
},
)
LogicReasonerConfig.use_lqp: bool

Whether to use LQP for rule execution.

LogicReasonerConfig.incremental_maintenance: (str, optional)

Incremental maintenance strategy string. Can be set to "on", "auto", or "off" (default).

LogicReasonerConfig.emit_constraints: bool

Whether to emit constraints during execution.

LogicReasonerConfig.readonly_queries: bool

When enabled, LQP queries whose model is unchanged since the previous execution are sent as read-only transactions. This avoids write-transaction serialization at the cost of view caching. Disabled by default.

LogicReasonerConfig.lqp: ReasonerLogicLqpConfig

LQP-specific options, such as semantics_version. See ReasonerLogicLqpConfig for details.

LogicReasonerConfigReasonerConfigpydantic.BaseModel