From 0268d6521d591448be7c7c67f834fc8a92c67db7 Mon Sep 17 00:00:00 2001 From: bnouwt <97681626+bnouwt@users.noreply.github.com> Date: Thu, 28 Mar 2024 14:00:26 +0100 Subject: [PATCH] Update 06_faq.md Add FAQ about a particular failed message. --- docs/06_faq.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/06_faq.md b/docs/06_faq.md index 87691857..72d698bc 100644 --- a/docs/06_faq.md +++ b/docs/06_faq.md @@ -390,3 +390,6 @@ I guess my question is more specifically: “Will the compliance checker look at *Question*: Whenever I do a post or ask, the memory usage of the Knowledge Engine Runtime skyrockets and it fails with a error (`HTTP 500`) after a minute or two. - *Answer*: Double check whether you are enabling the reasoner when you create a Smart Connector for your Knowledge Base. When using the REST Developer API, you can disable the reasoner by setting the JSON property `reasonerEnabled` to `false` or leave the property out altogether because by default the reasoner is disabled. Currently, the reasoner is not usable for scenario's where graph patterns are more than about 5 or 6 triple patterns, because the algorithm for graph pattern matching uses too much memory. We are working on improving this algorithm and hopefully allow more use cases to enable the reasoner and benefit the increased interoperability. + +*Question*: The result of my POST contains the following failed message in its ExchangeInfo: "java.lang.IllegalArgumentException: KB gave outgoing binding Binding [...], but this doesn't have a matching incoming binding!". What does this mean? +- *Answer*: The reason this error is given, is the following: REACT KIs that contain both an argument and result graph pattern and these two graph patterns share a variable name, the knowledge engine expects all values for this variable in the result binding set to also occur as a value of the variable in the argument binding set. This has to do with how these graph patterns are internally used to form if … then … rules. If this is not the case, it gives the above failedMessage. If this shared variable in the argument and result graph patterns is intended to be the same, make sure you align the values of this variable in the result binding set with the values of this variable in the argument binding set. If the variable is not intended to be the same thing, you can rename one of them to prevent the knowledge engine to expect them to share values.