Utils
fieldz_kb.clingo.utils
Shared utility functions for the clingo backend.
Classes:
| Name | Description |
|---|---|
FloatField |
Custom clorm field for float values, stored as strings. |
Functions:
| Name | Description |
|---|---|
make_predicate_class |
Dynamically create a clorm Predicate subclass. |
make_predicate_class_name_from_type |
Return a predicate class name for a given Python type. |
make_predicate_name_from_field |
Generate a predicate name from a field name. |
FloatField
make_predicate_class
Dynamically create a clorm Predicate subclass.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
predicate_class_name
|
str
|
The Python class name. |
required |
predicate_name
|
str
|
The ASP predicate name. |
required |
fields
|
dict
|
A dict mapping field names to their types. |
required |
Returns:
| Type | Description |
|---|---|
type
|
A new Predicate subclass. |
Source code in src/fieldz_kb/clingo/utils.py
make_predicate_class_name_from_type
Return a predicate class name for a given Python type.
The first character is lowercased to follow ASP naming conventions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type_
|
type
|
The Python type. |
required |
Returns:
| Type | Description |
|---|---|
str
|
The predicate class name string. |
Source code in src/fieldz_kb/clingo/utils.py
make_predicate_name_from_field
Generate a predicate name from a field name.
For plural field names (many=True), singularizes the name segments.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
field_name
|
str
|
The field name to convert. |
required |
many
|
bool
|
Whether the field represents a to-many relationship. |
required |
Returns:
| Type | Description |
|---|---|
str
|
A predicate name string like 'hasFieldName'. |