TNO / knowledge-engine

Improves interoperability between systems (i.e. devices, platforms, apps, databases) by exchanging data based on their semantics
https://knowledge-engine.eu
Apache License 2.0
33 stars 4 forks source link

Fix includeMetaKIs(...) call in ReasonerProcessor. #535

Closed bnouwt closed 1 month ago

bnouwt commented 1 month ago

Currently, in the ReasonerProcessor, we call the includeMetaKIs(...) method to determine whether to use ENTRY or NORMAL reasoning mode. However, this is wrong, because this should not depend on whether the meta KIs should be included, it should rather be depending on whether the KI isMeta(). However, if we do that, the MockedKnowledgeBase and KnowledgeNetwork usage fails because they use the meta Graph Pattern (but are not meta KIs), but still would not like to use NORMAL reasoning mode since this causes an OutOfMemoryException.

So, we need to think about how we want the reasoner configuration to work. Maybe we should introduce the levels ENTRY, NORMAL, ADVANCED, ULTIMATE and SUPREME in the knowledge-engine artifact. In the reasoner artifact we can only use the MatchFlags in the reasoner.

bnouwt commented 1 month ago

Did the above. Next up is making sure we can configure the reasoner correctly.

Do I also want to include configuration via REST API? That is maybe also part of #533