Je souhaite effectuer certains traitements en fonction du type superClassII
. Alors, je définissais:commutateur (type de variable inconnue)
ClassExpressionType superClassIIType = superClassII.getClassExpressionType();
Si (superClassIIType = "ObjectMincardinality" or
"ObjectExactCardinality" `donc,
I do the same treatment for superClassII
else
nous ne faisons rien
Voici une partie de mon code source. :
switch(superClassIIType){
case OBJECT_EXACT_CARDINALITY:
case OBJECT_MIN_CARDINALITY:
if ((((superClassIIType)superClassII).getProperty().equals(
((OWLObjectMinCardinality)superClass).getProperty()){
int superClassIICardinality =((superClassIIType)superClassII).getCardinality();
...
}
break;
default:
break;
}
Mais, il semble que superClassIIType
n'est pas accepté. J'ai essayé de faire ce dont j'ai besoin par un simple if ...else
où les blocs if et else contiennent tous les deux le même traitement (ça marche mais je pense que c'est naïf).
Pourriez-vous s'il vous plaît me dire où est le problème et si mettre en œuvre ce que je dois utiliser une autre solution de rechange))
Cela ressemble plus à un problème de Java que cela n'a rien à voir avec OWL. 'superClassIIType' est un objet, pas une classe Java, Vous ne pouvez pas lancer de cast. Les interfaces associées sont ['OWLObjectExactCardinality'] (http://owlcs.github.io/owlapi/apidocs_4/org/semanticweb/owlapi/model/OWLObjectExactCardinality.html) et [' OWLObjectMinCardinality'] (http: //owlcs.github .io/owlapi/apidocs_4/org/semanticweb/owlapi/modèle/OWLObjectMinCardinality.html). – dhke
... mais vous pouvez probablement vous en sortir en transposant [OWLObjectCardinalityRestriction'] (http://owlcs.github.io/owlapi/apidocs_4/org/semanticweb/owlapi/model/OWLObjectCardinalityRestriction.html) dans votre cas, a les méthodes souhaitées. – dhke