Open gschadow opened 5 years ago
Here an even simpler case:
(delete-all-tboxes)
(get-tbox-language) ; => "L-"
(transitive has-content) ; => T
(get-tbox-language) ; => "L-"
(implies-role has-direct-content has-content) ; => (HAS-CONTENT)
(get-tbox-language) ; => "L-H"
(implies-role (has-content has-flavor) has-flavor) ; => ((HAS-CONTENT HAS-FLAVOR))
(get-tbox-language) ; => "L-R"
(concept-subsumes? (some has-flavor X)
(some has-direct-content
(some has-direct-content
(some has-flavor X)))) ; => T, good
(get-tbox-language) ; => "L-R"
(functional has-flavor) ; => T
(get-tbox-language) ; => "ELRf"
(concept-subsumes? (some has-ingredient Ingredient)
(some has-direct-content
(some has-direct-content
(some has-ingredient Ingredient)))) ; => NIL, sad
(concept-subsumes? (some has-ingredient Ingredient)
(some has-direct-content
(some has-ingredient Ingredient))) ; => NIL, even sadder
None of the role composition works.
It is so severe, that the very moment I introduce any role as functional (functional has-foobar)
even if it is not used anywhere else, immediately the role composition logic is broken. But without any warning.
Hi, I have just spent over 3 days to figure out a very puzzling behavior.
Here is the example as simple as I could make it
; BEGINNING OF CASE
; Now we do some checks:
; and we determine the TBox language
; But now I am adding one more axiom, here, a GCI axiom
; which changes the TBox language
; so that the conduction of the has-ingreident role through the transitive has-content role no longer workds
; END OF CASE
Shouldn't there be some sort of warning / error output that says that because role cardinality restriction is used, the transitive role composition is no longer being considered?