From b3900a0899618a45149e8fb19c24e3e0ee2cc4f7 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 25 Jun 2026 17:44:12 +0200 Subject: [PATCH] Add support for optional result pattern and empty binding sets --- src/knowledge_mapper/kb/knowledge_base.py | 4 ++-- src/knowledge_mapper/ke/models.py | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/knowledge_mapper/kb/knowledge_base.py b/src/knowledge_mapper/kb/knowledge_base.py index 199d600..367e9be 100644 --- a/src/knowledge_mapper/kb/knowledge_base.py +++ b/src/knowledge_mapper/kb/knowledge_base.py @@ -440,7 +440,7 @@ def post_ki( self, name: str, argument_graph_pattern: str, - result_graph_pattern: str, + result_graph_pattern: str | None = None, argument_binding_model: type[BindingModel] | None = None, result_binding_model: type[BindingModel] | None = None, prefixes: dict | None = None, @@ -478,7 +478,7 @@ def react_ki( self, name: str, argument_graph_pattern: str, - result_graph_pattern: str, + result_graph_pattern: str | None = None, prefixes: dict | None = None, defer_ke_registration: bool = True, ) -> Callable[[Handler], Handler]: diff --git a/src/knowledge_mapper/ke/models.py b/src/knowledge_mapper/ke/models.py index 534fc92..b28ad7f 100644 --- a/src/knowledge_mapper/ke/models.py +++ b/src/knowledge_mapper/ke/models.py @@ -18,6 +18,8 @@ type BindingSet = Sequence[dict[str, str]] +EMPTY_BINDING_SET: BindingSet = [] + # region: -- Binding Node @@ -155,7 +157,7 @@ class AskAnswerInteractionInfo(KnowledgeInteractionInfo): class PostReactInteractionInfo(KnowledgeInteractionInfo): argument_graph_pattern: str - result_graph_pattern: str + result_graph_pattern: str | None = None class Initiator(StrEnum):