diff --git a/src/main/clojure/de/halbordnung/ontologies/tqme/core.clj b/src/main/clojure/de/halbordnung/ontologies/tqme/core.clj index 2840b9b..b2cb9d5 100644 --- a/src/main/clojure/de/halbordnung/ontologies/tqme/core.clj +++ b/src/main/clojure/de/halbordnung/ontologies/tqme/core.clj @@ -179,3 +179,36 @@ ) ) + +(defn perm-gen-full + [ctor relation class] + (owl-and + (owl-some b/has_history + (owl-some b/has_occurrent_part + (owl-some has-phase + (ctor relation + (owl-some phase-of + (owl-some b/occurrent_part_of + (owl-some b/history_of class) + ) + ) + ) + ) + ) + ) + (owl-only b/has_history + (owl-only b/has_occurrent_part + (owl-only has-phase + (ctor relation + (owl-some phase-of + (owl-some b/occurrent_part_of + (owl-some b/history_of class) + ) + ) + ) + ) + ) + ) + + ) + ) diff --git a/src/test/clojure/de/halbordnung/ontologies/tqme/cq.clj b/src/test/clojure/de/halbordnung/ontologies/tqme/cq.clj index 37a8022..98f405e 100644 --- a/src/test/clojure/de/halbordnung/ontologies/tqme/cq.clj +++ b/src/test/clojure/de/halbordnung/ontologies/tqme/cq.clj @@ -299,11 +299,11 @@ (o/disjoint-classes to (list blood-volume red-blood-cell oxygen-molecule)) (o/add-superclass to red-blood-cell - (c/perm-gen o/owl-some b/has_continuant_part_at_all_times + (c/perm-gen-full o/owl-some b/has_continuant_part_at_all_times oxygen-molecule)) (o/add-superclass to blood-volume - (c/perm-gen o/owl-some b/has_continuant_part_at_all_times + (c/perm-gen-full o/owl-some b/has_continuant_part_at_all_times red-blood-cell)) (is (r/consistent? to) "Consistent TQME ontology for transitive permanent generic parthood")