问题
What is the difference between scoped domain and domain? Also scoped range and range. And how is it defined in Protege for a single property to have two different scoped domains or scoped ranges?
P.S. I mean using two different scoped domain means:
R has range B if domain is A
R has range D if domain is C
回答1:
The fact that the domain of the object property R is A could be written in this way:
R some owl:Thing SubClassOf A
The fact that the range of the object property R is B could be written in this way:
owl:Thing SubClassOf R only B
One can generalize these records slightly.
The domain of R scoped with / by B is A:
R some B SubClassOf A
The range of R scoped with / by A is B:
A SubClassOf R only B
In Protégé, one can type these axioms in these places (pressing the ⊕ button as many times as one wishes):
- Active Ontology > General Class Axioms > General Class Axioms, or
- Entities > Classes > [Class] > Description > General Class Axioms.
Also, the OWLAx plugin can generate both scoped and non-scoped axioms.
In DL terms, scoped domain and range axioms are:
- ∃R.B ⊑ A instead of ∃R.⊤ ⊑ A,
- A ⊑ ∀R.B instead of ⊤ ⊑ ∀R.B.
In SWRL terms:
B(?y) ^ R(?x,?y) -> A(?x)instead ofR(?x,?y) -> A(?x),A(?x) ^ R(?x,?y) -> B(?y)instead ofR(?x,?y) -> B(?y).
来源:https://stackoverflow.com/questions/64820924/owl-scoped-domain-and-range