Ich möchte einige Behandlungen in Abhängigkeit von superClassII
Art zu tun. Also, ich definiert:Schalter (unbekannter Variablentyp)
ClassExpressionType superClassIIType = superClassII.getClassExpressionType();
If (superClassIIType = "ObjectMincardinality" or
"ObjectExactCardinality" `so,
I do the same treatment for superClassII
else
wir nichts tun
Hier ist ein Teil meines Quellcodes ist. :
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;
}
Aber es scheint, dass superClassIIType
wird nicht akzeptiert. Ich habe versucht, zu tun, was ich brauche, durch eine einfache if ...else
, wo die if und else Blöcke beide die gleiche Behandlung enthalten (es funktioniert, aber ich denke, es ist naiv).
Könnten Sie mir bitte sagen, wo das Problem ist, und wenn das umzusetzen, was ich eine andere Alternative verwenden muß))
Dies ist eher ein Java-Problem als es mit OWL zu tun hat. 'superClassIIType' ist ein Objekt, keine Java-Klasse. Sie können nicht in diese Klasse umwandeln. Die zugehörigen Schnittstellen sind ['OWLObjectExactCardinality'] (http://owlcs.github.io/owlapi/apidocs_4/org/semanticweb/owlapi/model/OWLObjectExactCardinality.html) und [' OWLObjectMinCardinality'] (http: //owlcs.github .io/owlapi/apidocs_4/org/semantischesweb/owlapi/model/OWLObjectMinCardinality.html). – dhke
... aber Sie können wahrscheinlich mit Casting auf ['OWLObjectCardinalityRestriction'] (http://owlcs.github.io/owlapi/apidocs_4/org/semanticweb/owlapi/model/OWLObjectCardinalityRestriction.html) in Ihrem Fall, die hat die gewünschten Methoden. – dhke