Separation of functionalities in modules.

This commit is contained in:
kenkeiras 2017-05-11 01:09:39 +02:00
parent 5b30713df1
commit edc3cb97ab
4 changed files with 131 additions and 127 deletions

View file

@ -0,0 +1,33 @@
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)