Logical Contexts
- Last Updated: May 13, 2026
- 1 minute read
- Semaphore
- Documentation
Logical Contexts
Logical Contexts is an abstract class. It cannot be used to create actual contexts in any project model; it exists to clarify common context types and to serve as an organizational concept class for attributing certain properties.
Logical Contexts model logical conditions in a context hierarchy: either conjunction ("all facts/anchors") or disjunction ("any fact/anchor").
A logical context must always have other contexts as children (including other logical contexts). You cannot have fact types or anchor types as children.
If you use a disjunction, more than one of the facts or anchors might fire. In this case, it is common to create precluding associations between the children—especially if they are facts being extracted—so that only the preferred one is returned in CS’s response.
There are four different logical contexts:
- All anchors: All child anchors must fire.
- Any anchor: Any child anchor can fire.
- All facts: All child facts must fire.
- Any fact: Any child fact can fire.
Depending on your choice, you will have differently named hierarchical relationships:
- Any Anchor / All Anchors
anchor
- Any Fact / All Facts
fact