In KnowWE, also covering knowledge can be defined and used by using (eXtensible) Covering Lists (XCL). Basically, for all solutions the combination of all findings (question-answer pairings) that are generally observed for this solution, is defined. During the problem solution process the solutions are searched, that cover the formerly defined answers best with their expected answers.

Syntax - Basics#

Covering lists are basically defined within the 'CoveringList markup. Each block starts with the name of the solution, afterwards the findings that explain that solution are listed within braces. This is shown in the following example where two solutions - Clogged air filter and Leaking air intake system - are defined:

Clogged air filter  {
    "Air filter o.k.?" = no [++],
    Driving = weak acceleration,
    Exhaust pipe color evaluation = abnormal,
    Mileage evaluation = increased [!],

Leaking air intake system  {
    Driving = insufficient power on full load,
    Mileage evaluation = increased,
    "Air intake system o.k.?" = no [++],

Possible findings/conditions#

As relations the XCL markup allows the same conditions as a normal rule would also allow (only terminal conditions of course). For more information, check out the docu page for Conditions

eXtended Covering Lists (XCL)#

Those basic covering lists can be further refined by adding certain symbols at the end of each covering relation. The possible refinements and corresponding symbols are:

  • Weighting: [numerical value]
  • Necessary to derive solution: [!]
  • Excludes this solution: [--]
  • Suffices to derive solution: [++]