Session
fieldz_kb.clingo.session
Clingo session for fieldz_kb.
Provides a Session class for converting fieldz objects to clingo facts and predicate classes.
Classes:
| Name | Description |
|---|---|
Session |
Session for converting fieldz objects to clingo predicates and facts. |
Session
Session for converting fieldz objects to clingo predicates and facts.
Example
import dataclasses import fieldz_kb.clingo.session
@dataclasses.dataclass ... class Gene: ... name: str ... chromosome: int
session = fieldz_kb.clingo.session.Session() facts = session.make_facts_from_object(Gene(name="TP53", chromosome=17))
Initialize the session with a fresh clingo context.
Methods:
| Name | Description |
|---|---|
__enter__ |
Enter the session context manager. |
__exit__ |
Exit the session context manager. |
get_or_make_predicate_classes_from_type |
Get or create predicate classes for a given Python type. |
make_facts_from_object |
Convert a Python object to clingo facts. |
make_ontology_rules_from_type |
Generate ontology rules expressing type inheritance as ASP rules. |
reset_context |
Replace the conversion context with a fresh one. |
Source code in src/fieldz_kb/clingo/session.py
__enter__
__enter__() -> Session
__exit__
get_or_make_predicate_classes_from_type
get_or_make_predicate_classes_from_type(type_: type, module: str | None = None, make_predicate_classes_recursively: bool = True) -> list
Get or create predicate classes for a given Python type.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type_
|
type
|
The Python type. |
required |
module
|
str | None
|
Module name for resolving forward references. |
None
|
make_predicate_classes_recursively
|
bool
|
Whether to create predicates for nested types. |
True
|
Returns:
| Type | Description |
|---|---|
list
|
A list of predicate classes. |
Source code in src/fieldz_kb/clingo/session.py
make_facts_from_object
make_facts_from_object(obj: object, id_to_object: dict | None = None, integration_mode: Literal['hash', 'id'] = 'id', exclude_from_integration: tuple[type, ...] | None = None) -> list
Convert a Python object to clingo facts.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj
|
object
|
The object to convert. |
required |
id_to_object
|
dict | None
|
Optional cache mapping fact IDs to objects. |
None
|
integration_mode
|
Literal['hash', 'id']
|
How to handle duplicate objects ("hash" or "id"). |
'id'
|
exclude_from_integration
|
tuple[type, ...] | None
|
Types to exclude from integration logic. |
None
|
Returns:
| Type | Description |
|---|---|
list
|
A list of clorm facts. |
Source code in src/fieldz_kb/clingo/session.py
make_ontology_rules_from_type
Generate ontology rules expressing type inheritance as ASP rules.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type_
|
type
|
The Python type to generate rules for. |
required |
Returns:
| Type | Description |
|---|---|
list[str]
|
A sorted list of ASP rule strings. |
Source code in src/fieldz_kb/clingo/session.py
reset_context
Replace the conversion context with a fresh one.
Clears all cached predicate classes, type mappings, and ID counter.