Predicates, when used to describe "exactly" relationships programmatically, are created in the ontology that is defined last. However, it is not possible to specify the ontology that such predicates belong to.
For example, the code below works well without specifying the ontology.
(defontology ontology1)
(defontology ontology2)
(owl-class ontology1 "Class1" :subclass ( exactly 1 "predicate1" (owl-class ontology1 "Class2") ))
However the line below does not work:
(owl-class ontology1 "Class1" :subclass ( exactly 1 ontology2 "predicate1" (owl-class ontology1 "Class2") ))
A similar code using the "owl-some" relationship works without any problem.
(owl-class ontology1 "Class1" :subclass ( owl-some ontology2 "predicate2" (owl-class ontology1 "Class2") ))
Predicates, when used to describe "exactly" relationships programmatically, are created in the ontology that is defined last. However, it is not possible to specify the ontology that such predicates belong to.
For example, the code below works well without specifying the ontology. (defontology ontology1)
(defontology ontology2)
(owl-class ontology1 "Class1" :subclass ( exactly 1 "predicate1" (owl-class ontology1 "Class2") ))
However the line below does not work: (owl-class ontology1 "Class1" :subclass ( exactly 1 ontology2 "predicate1" (owl-class ontology1 "Class2") ))
A similar code using the "owl-some" relationship works without any problem. (owl-class ontology1 "Class1" :subclass ( owl-some ontology2 "predicate2" (owl-class ontology1 "Class2") ))