0
superClassII
유형에 따라 일부 치료를하고 싶습니다. 그래서, 나는 정의 :스위치 (알 수없는 변수 유형)
ClassExpressionType superClassIIType = superClassII.getClassExpressionType();
때문에,
I do the same treatment for superClassII
else
or
"ObjectExactCardinality"`합니다. :
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;
}
그러나, superClassIIType
은 허용되지 않습니다. 나는 간단한 것만으로도 노력했다. if ...else
if 블록과 else 블록 모두 동일한 치료법을 포함하고있다. (작동하지만 순진하다고 생각한다.)
이것은 Java 문제와 비슷하지만 OWL과 관련이 있습니다. 'superClassIIType'는 자바 클래스가 아닌 객체입니다. 당신은 그것에 캐스트 할 수 없습니다. 관련 인터페이스는 ['OWLObjectExactCardinality'] (http://owlcs.github.io/owlapi/apidocs_4/org/semanticweb/owlapi/model/OWLObjectExactCardinality.html) 및 ['OWLObjectMinCardinality'] (http : //owlcs.github .io/owlapi/apidocs_4/org/semanticweb/owlapi/model/OWLObjectMinCardinality.html). – dhke
...하지만 귀하는 귀하의 케이스에서 ['OWLObjectCardinalityRestriction'] (http://owlcs.github.io/owlapi/apidocs_4/org/semanticweb/owlapi/model/OWLObjectCardinalityRestriction.html)로 전송할 수 있습니다. 원하는 방법이 있습니다. – dhke