34 lines
1004 B
Python
34 lines
1004 B
Python
from knowledge_base import KnowledgeBase
|
|
|
|
|
|
def property_for_value(knowledge_base: KnowledgeBase, value):
|
|
return knowledge_base[value]['as_property']
|
|
|
|
|
|
def exists_property_with_value(knowledge_base: KnowledgeBase, subj, value):
|
|
|
|
knowledge_base[subj][property_for_value(knowledge_base, value)] = value
|
|
|
|
|
|
def pertenence_to_group(knowledge_base: KnowledgeBase, subj, group):
|
|
knowledge_base[subj]["group"] = group
|
|
|
|
|
|
def has_capacity(knowledge_base: KnowledgeBase, subj, capacity):
|
|
if "capacities" not in knowledge_base[subj]:
|
|
knowledge_base[subj]["capacities"] = []
|
|
knowledge_base[subj]["capacities"].append(capacity)
|
|
|
|
|
|
knowledge_ingestion = {
|
|
"exists-property-with-value": exists_property_with_value,
|
|
"pertenence-to-group": pertenence_to_group,
|
|
"has-capacity": has_capacity,
|
|
}
|
|
|
|
|
|
def integrate_information(knowledge_base: KnowledgeBase, example):
|
|
method = example['parsed'][0]
|
|
args = example['parsed'][1:]
|
|
knowledge_ingestion[method](knowledge_base, *args)
|