问题
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