Add perform-verb-over-object and (failing) test.

This commit is contained in:
kenkeiras 2017-05-24 23:54:56 +02:00
parent e0a5f02c34
commit aa7bee4c8b
2 changed files with 34 additions and 6 deletions

View file

@ -208,6 +208,26 @@ def property_has_value(knowledge_base, elements, subj, prop, value):
element=value
)
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)
if subj not in knowledge_base:
knowledge_base[subj] = {'groups': set()}
if 'performs-over' not in knowledge_base[subj]:
knowledge_base[subj]['performs-over'] = {}
if verb not in knowledge_base[subj]['performs-over']:
knowledge_base[subj]['performs-over'][verb] = set()
return modifiable_element_for_existance_in_set(
container=knowledge_base[subj]['performs-over'],
set_name=verb,
element=obj
)
knowledge_ingestion = {
"exists-property-with-value": exists_property_with_value,
@ -216,6 +236,7 @@ knowledge_ingestion = {
"question": question,
"implies": implies,
"property-has-value": property_has_value,
"perform-verb-over-object": perform_verb_over_object,
}