Search code examples
owlreasoningzebra-puzzlestardog

Solve Einstein's riddle with Stardog reasoner?


Is it possible to solve Einstein's riddle (aka Zebra puzzle) with the Stardog reasoner? I.e. the following query does not yield the expected result einsteins_riddle_en:Old_Gold

stardog query myDatabase --reasoning "SELECT ?o WHERE {einsteins_riddle_en:Englishman einsteins_riddle_en:smokes ?o}"
+-------+
|   o   |
+-------+
+-------+

Solution

  • You probably need to configure the database to use DL when performing reasoning, the default is SL which corresponds to ALHIO.

    To configure stardog to use DL, set the database option reasoning.type to DL.