OWL2 has quantitative restrictions, which means you can have form class expressions
& exist; pC
which denotes a class of individuals that are relevant for property p, which is of type C. Similarly, you can use the constraint
& FORALL; pD
, p ( ) D. , , .
& leq; n p.C
& geq; n p.C
= n p.C
, . ,
p C
, p - , C. ,
p D
, - p, D. , , . , p D
& ; & Sqsubseteq; & FORALL; p.D
, & top; ( owl:Thing, .. ) , p D. , . p C,
& ; & Sqsubseteq; & FORALL; 1.C
, :
, " ", , :
, ? , ?
-, . 1 ,
x hasId y
x hasId z
, x , y z y , z ( ), . , OWL, , , .. . . , hasId , ,
& ; & Sqsubseteq; & leq; 1 hasId. & top;
- . , ,
sqsubseteq; = 1 hasId.Identification
, , , hasId Student Identification , , , hasId, , :
sqsubseteq; = 1 hasId. & Top;
, - , . , - (, ), (, ). - , :
- {& sqsubseteq; = 1 hasId.StudentIdentification}
- hasId {domain: Person, range: Identification}
( , , .)