Можно ли использовать правила swrl для проверки согласованности фактов?
если мы имеем:
parent(?x,?y) ∧ brother(?y,?z) ⇒ uncle(?x,?z)
из этого рождаются новые факты.
Но вместо этого у меня есть набор фактов (некоторые из них непротиворечивы).
:p1 parent :c1 .
:p2 brother :p1 .
:p1 uncle :c1 . # inconsistent
:p1 uncle :p1 . # inconsistent
:p2 uncle :c1 . # consistent.
Можно ли использовать swrl или альтернативную технологию, чтобы выделить эти несоответствия в моей таблице фактов?
parent(?x,?y) ∧ brother(?y,?z) <-> uncle(?x,?z)
Благодарность
<->
пока невозможно. Так что для выявления несоответствий в нашем случае рекомендую дополнительно к правилам указатьDomain/Range
. Но это только моя точка зрения. - person Gilles-Antoine Nys   schedule 09.07.2018