je classes suivantes: Classes B, C et D sont des sous-classes de A.RDF/OWL/Protege: laisser une sous-classe être une union de quelques super classes disjointes?
A ----+----------> B
|
+----------> C
|
+----------> D
ailleurs, j'ai une propriété d'objet, hasObjectProperty, et quelques autres classes X, Y, Z, où X, Y, Z sont des classes disjointes.
Puis je définir des restrictions aux classes B, C et D comme suit: (Ici, j'utilise Manchester syntaxe OWL utilisée dans Protege et http://www.co-ode.org/resources/reference/manchester_syntax/)
B: (hasObjectProperty only X) and (hasObjectProperty some X)
C: (hasObjectProperty only Y) and (hasObjectProperty some Y)
D: (hasObjectProperty only Z) and (hasObjectProperty some Z)
la question est maintenant, comment puis-je décrire une Classe E, qui devrait être l'union de seulement les classes B et C? Comment puis-je décrire une classe qui peut être à la fois la classe B et la classe C (mais pas la classe D)?
A ----+----------> B ------> E
|
+----------> C ------> E
|
+----------> D
est-il possible?
J'ai essayé de définir la restriction de classe E comme ceci. Mais un Reasoner le déterminera comme invalide.
E: ((hasObjectProperty only X) and (hasObjectProperty some X)) or ((hasObjectProperty only Y) and (hasObjectProperty some Y))
merci beaucoup!
Que voulez-vous dire par « invalide »? Insatisfiable? – Kaarel
Pourquoi pensez-vous que * hasObjectProperty * a un rapport avec votre problème (c'est-à-dire la description d'une union)? – Kaarel
Le raisonneur traite une telle ontologie invalide. Comme il est arrivé au résultat que X doit être Y (cependant X et Y sont disjoints) – elgcom