popupaddclass.java
来自「Semantic Web Ontology Editor」· Java 代码 · 共 1,635 行 · 第 1/5 页
JAVA
1,635 行
* and add it to ceList */ private void createCE(int type) { OWLDescription ce = null; OWLOntology ont = swoopModel.getSelectedOntology(); OWLDataFactory ontDF = null; try { ontDF = ont.getOWLDataFactory(); } catch (OWLException e2) { e2.printStackTrace(); } String ERROR = ""; switch (type) { case INT: Set descs = new HashSet(); if (valList.getSelectedValue() instanceof OWLDescription) { for (int i = 0; i<valList.getSelectedValues().length; i++) { descs.add(valList.getSelectedValues()[i]); } } if (ceList.getSelectedIndex()!=-1) { for (int i = 0; i<ceList.getSelectedValues().length; i++) { descs.add(ceList.getSelectedValues()[i]); } } try { if (descs.size()>0) ce = ontDF.getOWLAnd(descs); else ERROR = "No classes selected for intersection"; } catch (OWLException e1) { e1.printStackTrace(); } break; case UNI: descs = new HashSet(); if (valList.getSelectedValue() instanceof OWLDescription) { for (int i = 0; i<valList.getSelectedValues().length; i++) { descs.add(valList.getSelectedValues()[i]); } } if (ceList.getSelectedIndex()!=-1) { for (int i = 0; i<ceList.getSelectedValues().length; i++) { descs.add(ceList.getSelectedValues()[i]); } } try { if (descs.size()>0) ce = ontDF.getOWLOr(descs); else ERROR = "No classes selected for union"; } catch (OWLException e1) { e1.printStackTrace(); } break; case ONE: Set inds = new HashSet(); if (valList.getSelectedValue() instanceof OWLIndividual) { for (int i = 0; i<valList.getSelectedValues().length; i++) { inds.add(valList.getSelectedValues()[i]); } } try { if (inds.size()>0) ce = ontDF.getOWLEnumeration(inds); else ERROR = "No individuals selected for enumeration"; } catch (OWLException e1) { e1.printStackTrace(); } break; case NEG: OWLDescription desc = null; if ((valList.getSelectedIndex()!=-1 && valList.getSelectedValue() instanceof OWLDescription)) desc = (OWLDescription) valList.getSelectedValue(); else if (ceList.getSelectedIndex()!=-1) desc = (OWLDescription) ceList.getSelectedValue(); if (desc!=null) { try { ce = ontDF.getOWLNot(desc); } catch (OWLException e) { e.printStackTrace(); } } else ERROR = "No class selected for negation"; break; case SOME: OWLProperty prop = null; if (propList.getSelectedIndex()!=-1) { prop = (OWLProperty) propList.getSelectedValue(); } else { ERROR = "No property selected for someValues restriction"; break; } if (prop!=null && prop instanceof OWLObjectProperty) { desc = null; if ((valList.getSelectedIndex()!=-1 && valList.getSelectedValue() instanceof OWLDescription)) desc = (OWLDescription) valList.getSelectedValue(); else if (ceList.getSelectedIndex()!=-1) desc = (OWLDescription) ceList.getSelectedValue(); if (desc!=null) { try { ce = ontDF.getOWLObjectSomeRestriction((OWLObjectProperty) prop, desc); } catch (OWLException e) { e.printStackTrace(); } } else if (valList.getSelectedValue() instanceof OWLIndividual) { if (valList.getSelectedIndices().length>1) { // someValues on oneOf set of selected inds Object[] selObj = valList.getSelectedValues(); Set oneSet = new HashSet(); for (int i=0; i<selObj.length; i++) oneSet.add(selObj[i]); try { OWLEnumeration one = ontDF.getOWLEnumeration(oneSet); ce = ontDF.getOWLObjectSomeRestriction((OWLObjectProperty) prop, one); } catch (OWLException e) { e.printStackTrace(); } } else { // value restr. on object prop. OWLIndividual ind = (OWLIndividual) valList.getSelectedValue(); try { ce = ontDF.getOWLObjectValueRestriction((OWLObjectProperty) prop, ind); } catch (OWLException e) { e.printStackTrace(); } } } else ERROR = "No class/individual selected for someValues restriction on OWLObjectProperty"; } else if (prop!=null) { // data property restr. if (valList.getSelectedValue() instanceof OWLDataType) { OWLDataType dt = (OWLDataType) valList.getSelectedValue(); if (dataFld.getText().equals("")) { try { ce = ontDF.getOWLDataSomeRestriction((OWLDataProperty) prop, dt); } catch (OWLException e) { e.printStackTrace(); } } else { // value restr. on data prop. String dVal = dataFld.getText(); try { OWLDataValue data = ontDF.getOWLConcreteData(dt.getURI(), "", dVal); ce = ontDF.getOWLDataValueRestriction((OWLDataProperty) prop, data); } catch (OWLException e) { e.printStackTrace(); } } } else ERROR = "No datatype selected for someValues restriction on OWLDatatype Property"; } break; case ALL: prop = null; if (propList.getSelectedIndex()!=-1) { prop = (OWLProperty) propList.getSelectedValue(); } else { ERROR = "No property selected for allValues restriction"; break; } if (prop!=null && prop instanceof OWLObjectProperty) { desc = null; if ((valList.getSelectedIndex()!=-1 && valList.getSelectedValue() instanceof OWLDescription)) desc = (OWLDescription) valList.getSelectedValue(); else if (ceList.getSelectedIndex()!=-1) desc = (OWLDescription) ceList.getSelectedValue(); if (desc!=null) { try { ce = ontDF.getOWLObjectAllRestriction((OWLObjectProperty) prop, desc); } catch (OWLException e) { e.printStackTrace(); } } else ERROR = "No class selected for allValues restriction on OWLObjectProperty"; } else { // data property restr. if (valList.getSelectedValue() instanceof OWLDataType) { OWLDataType dt = (OWLDataType) valList.getSelectedValue(); try { ce = ontDF.getOWLDataAllRestriction((OWLDataProperty) prop, dt); } catch (OWLException e) { e.printStackTrace(); } } else ERROR = "No datatype selected for allValues restriction on OWLDatatypeProperty"; } break; case EQU: prop = null; if (propList.getSelectedIndex()!=-1) { prop = (OWLProperty) propList.getSelectedValue(); } else { ERROR = "No property selected for cardinality restriction"; break; } int n = -1; try { n = Integer.parseInt(dataFld.getText()); } catch (Exception ex) {} if (n<0) { ERROR = "No non-negative integer specified for cardinality restriction"; break; } try { if (prop instanceof OWLObjectProperty) { ce = ontDF.getOWLObjectCardinalityRestriction((OWLObjectProperty) prop, n, n); } else { ce = ontDF.getOWLDataCardinalityRestriction((OWLDataProperty) prop, n, n); } } catch (OWLException ex) { ex.printStackTrace(); } break; case MIN: prop = null; if (propList.getSelectedIndex()!=-1) { prop = (OWLProperty) propList.getSelectedValue(); } else { ERROR = "No property selected for minCardinality restriction"; break; } n = -1; try { n = Integer.parseInt(dataFld.getText()); } catch (Exception ex) {} if (n<0) { ERROR = "No non-negative integer specified for minCardinality restriction"; break; } try { if (prop instanceof OWLObjectProperty) { ce = ontDF.getOWLObjectCardinalityAtLeastRestriction((OWLObjectProperty) prop, n); } else { ce = ontDF.getOWLDataCardinalityAtLeastRestriction((OWLDataProperty) prop, n); } } catch (OWLException ex) { ex.printStackTrace(); } break; case MAX: prop = null; if (propList.getSelectedIndex()!=-1) { prop = (OWLProperty) propList.getSelectedValue(); } else { ERROR = "No property selected for maxCardinality restriction"; break; } n = -1; try { n = Integer.parseInt(dataFld.getText()); } catch (Exception ex) {} if (n<0) { ERROR = "No non-negative integer specified for maxCardinality restriction"; break; } try { if (prop instanceof OWLObjectProperty) { ce = ontDF.getOWLObjectCardinalityAtMostRestriction((OWLObjectProperty) prop, n); } else { ce = ontDF.getOWLDataCardinalityAtMostRestriction((OWLDataProperty) prop, n); } } catch (OWLException ex) { ex.printStackTrace(); } break; } // add ce to ceList if (ce!=null) { List currCE = new ArrayList(); currCE.add(ce); ListModel lm = ceList.getModel(); for (int i=0; i<lm.getSize(); i++) currCE.add(lm.getElementAt(i)); ceList.setListData(currCE.toArray()); ceStatusLbl.setText("Class Expression added to list"); } else { ceStatusLbl.setText("<html><font color=\"red\">"+ERROR+"!</font></html>");// System.out.println(ERROR); } // clear selections propList.clearSelection(); valList.cl
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?