Work in progress.
* Test * More debugging * Base concept
This commit is contained in:
parent
aa7bee4c8b
commit
9d49d00688
4 changed files with 62 additions and 10 deletions
|
@ -1,3 +1,5 @@
|
|||
import logging
|
||||
|
||||
from .modifiable_property import (
|
||||
ModifiableProperty,
|
||||
ModifiablePropertyWithAst,
|
||||
|
@ -9,6 +11,7 @@ def resolve(knowledge_base, elements, value):
|
|||
if isinstance(value, int):
|
||||
return elements[value]
|
||||
elif isinstance(value, tuple) or isinstance(value, list):
|
||||
print("V:", value, elements)
|
||||
return integrate_information(knowledge_base, {
|
||||
"elements": elements,
|
||||
"parsed": value,
|
||||
|
@ -100,11 +103,17 @@ def exists_property_with_value(knowledge_base, elements, subj, value):
|
|||
|
||||
|
||||
def modifiable_element_for_existance_in_set(container, set_name, element):
|
||||
print("-----({} {} {})".format(container, set_name, element))
|
||||
import traceback
|
||||
# traceback.print_stack()
|
||||
|
||||
def getter():
|
||||
nonlocal container, set_name, element
|
||||
print(" get({} {} {})".format(container, set_name, element))
|
||||
return (set_name in container) and (element in container[set_name])
|
||||
|
||||
def setter():
|
||||
print(" add({} {} {})".format(container, set_name, element))
|
||||
nonlocal container, set_name, element
|
||||
return container[set_name].add(element)
|
||||
|
||||
|
@ -212,6 +221,7 @@ def perform_verb_over_object(knowledge_base, elements, subj, verb, obj):
|
|||
subj = resolve(knowledge_base, elements, subj)
|
||||
verb = resolve(knowledge_base, elements, verb)
|
||||
obj = resolve(knowledge_base, elements, obj)
|
||||
logging.debug("({} {} {})".format(verb, subj, obj))
|
||||
|
||||
if subj not in knowledge_base:
|
||||
knowledge_base[subj] = {'groups': set()}
|
||||
|
@ -255,6 +265,11 @@ def integrate_information(knowledge_base, example):
|
|||
args = ast[1:]
|
||||
elements = example.get('elements', None)
|
||||
|
||||
logging.debug("Integrating:")
|
||||
logging.debug("AST: {}".format(ast))
|
||||
logging.debug("ARG: {}".format(elements))
|
||||
logging.debug("------------")
|
||||
|
||||
return tagged_with_ast(
|
||||
ast, elements,
|
||||
knowledge_ingestion[method](knowledge_base, elements, *args))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue