Add perform-verb-over-object and (failing) test.
This commit is contained in:
parent
e0a5f02c34
commit
aa7bee4c8b
@ -208,6 +208,26 @@ def property_has_value(knowledge_base, elements, subj, prop, value):
|
|||||||
element=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 = {
|
knowledge_ingestion = {
|
||||||
"exists-property-with-value": exists_property_with_value,
|
"exists-property-with-value": exists_property_with_value,
|
||||||
@ -216,6 +236,7 @@ knowledge_ingestion = {
|
|||||||
"question": question,
|
"question": question,
|
||||||
"implies": implies,
|
"implies": implies,
|
||||||
"property-has-value": property_has_value,
|
"property-has-value": property_has_value,
|
||||||
|
"perform-verb-over-object": perform_verb_over_object,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -85,12 +85,13 @@ examples = [
|
|||||||
lambda knowledge: _assert('man' in knowledge.knowledge['socrates']['groups'])
|
lambda knowledge: _assert('man' in knowledge.knowledge['socrates']['groups'])
|
||||||
),],
|
),],
|
||||||
}),
|
}),
|
||||||
# {
|
('full_example',{
|
||||||
# "text": "Computers use electricity?",
|
"text": "Computers use electricity?",
|
||||||
# "affirmation": "Computers use electricity?",
|
"affirmation": "Computers use electricity",
|
||||||
# "parsed": (),
|
"parsed": ("question",
|
||||||
# "answer": None,
|
('perform-verb-over-object', 'computers', 'use', 'electricity')),
|
||||||
# },
|
"answer": True,
|
||||||
|
}),
|
||||||
# {
|
# {
|
||||||
# "text": "The dominant language in france is french?",
|
# "text": "The dominant language in france is french?",
|
||||||
# "affirmation": "The dominant language in france is french?",
|
# "affirmation": "The dominant language in france is french?",
|
||||||
@ -664,6 +665,12 @@ base_knowledge = {
|
|||||||
'fly': {
|
'fly': {
|
||||||
"groups": {'verb'},
|
"groups": {'verb'},
|
||||||
},
|
},
|
||||||
|
'use': {
|
||||||
|
"groups": {'verb'},
|
||||||
|
},
|
||||||
|
'electricity': {
|
||||||
|
"groups": {},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
Loading…
Reference in New Issue
Block a user