swoopframe.java
来自「Semantic Web Ontology Editor」· Java 代码 · 共 1,892 行 · 第 1/5 页
JAVA
1,892 行
if (name.indexOf(".") >= 0 && extension.equals("")) { extension = name .substring(name.lastIndexOf(".") + 1, name.length()); } // finally append extension to chosen file if (name.indexOf(".") == -1 && !extension.equals("")) { saveFile = new File(saveFile.getAbsolutePath() + "." + extension); name += "." + extension; } // act upon chosen file extension if (extension.equals("swp") || extension.equals("SWP")) { wkspcFile = saveFile; saveWkspMItem.setText("Save Workspace (../" + name + ")"); saveWorkspace(true, true); return; } else { // save ontology type file ontFile = saveFile; } if (extension.equals("swo") || extension.equals("SWO")) { saveOntologyFile(); } else if (extension.equals("owl") || extension.equals("OWL") || extension.equals("rdf") || extension.equals("RDF") || extension.equals("xml") || extension.equals("XML")) { saveOWLFile(); } else if (extension.toLowerCase().equals("txt")) { saveAbstractSyntaxFile(); } else { // no file extension saveOWLFile(); } } public void actionPerformed(ActionEvent e) { if (e.getSource() == extractModMenu) { // extract module for selected entity if (swoopModel.selectedOntology!=null && swoopModel.selectedEntity!=null) { try { //No dual concepts Segmentation seg = null; if(!swoopModel.segmentation.containsKey(swoopModel.selectedOntology)){ seg = new Segmentation(swoopModel.getSelectedOntology(), false, false); //No dual roles Map aux = new HashMap(); aux = swoopModel.getSegmentation(); aux.put(swoopModel.getSelectedOntology(), seg); swoopModel.setSegmentation(aux); } else{ seg = (Segmentation) swoopModel.getSegmentation().get(swoopModel.selectedOntology); seg.setDualConcepts(false); seg.setDualRoles(false); } Set allClasses = swoopModel.getSelectedOntology().getClasses(); Set allProperties = swoopModel.getSelectedOntology().getObjectProperties(); allProperties.addAll(swoopModel.getSelectedOntology().getDataProperties()); Set allEntities = new HashSet(); allEntities.addAll(allClasses); allEntities.addAll(allProperties); Set allAxioms = seg.getAllAxioms(); Map axSignature = seg.getAxiomsToSignature(); Map sigToAxioms = seg.getSignatureToAxioms(); /* System.out.println("Getting the axioms in the ontology"); Set allAxioms = seg.getAxiomsInOntology(swoopModel.getSelectedOntology()); System.out.println("Total number of axioms in the Ontology: " + allAxioms.size()); System.out.println("Getting signature of axioms"); Map axSignature = seg.axiomsToSignature(allAxioms); System.out.println("Got signature of the axioms"); System.out.println("Creating Map from concept names to axioms"); Map sigToAxioms = seg.signatureToAxioms(allAxioms, axSignature); System.out.println("Got map from concept names to axioms"); */ Set sig = new HashSet(); sig.add(swoopModel.getSelectedEntity()); URI uriOntology = swoopModel.getSelectedOntology().getURI(); System.out.println("Getting Module"); OWLOntology module = seg.getModule(allAxioms, sig, axSignature, sigToAxioms, uriOntology, (OWLClass)swoopModel.getSelectedEntity()); System.out.println("Got Module"); swoopModel.addOntology(module); } catch (URISyntaxException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (OWLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } /* AutoEconnPartitioning partitions = new AutoEconnPartitioning( this, swoopModel, swoopModel.getSelectedOntology(), false); partitions.findModule(swoopModel.selectedEntity); */ } } else if (e.getSource() == extractModDualMenu) { // extract dual module for selected entity if (swoopModel.selectedOntology!=null && swoopModel.selectedEntity!=null) { try { Segmentation seg = null; if(!swoopModel.segmentation.containsKey(swoopModel.selectedOntology)){ seg = new Segmentation(swoopModel.getSelectedOntology(), true, true); //No dual roles Map aux = new HashMap(); aux = swoopModel.getSegmentation(); aux.put(swoopModel.getSelectedOntology(), seg); swoopModel.setSegmentation(aux); } else{ seg = (Segmentation) swoopModel.getSegmentation().get(swoopModel.selectedOntology); seg.setDualConcepts(true); seg.setDualRoles(true); } Set allClasses = swoopModel.getSelectedOntology().getClasses(); Set allProperties = swoopModel.getSelectedOntology().getObjectProperties(); allProperties.addAll(swoopModel.getSelectedOntology().getDataProperties()); Set allEntities = new HashSet(); allEntities.addAll(allClasses); allEntities.addAll(allProperties); Set allAxioms = seg.getAllAxioms(); Map axSignature = seg.getAxiomsToSignature(); Map sigToAxioms = seg.getSignatureToAxioms(); /* System.out.println("Getting the axioms in the ontology"); Set allAxioms = seg.getAxiomsInOntology(swoopModel.getSelectedOntology()); System.out.println("Total number of axioms in the Ontology: " + allAxioms.size()); System.out.println("Getting signature of axioms"); Map axSignature = seg.axiomsToSignature(allAxioms); System.out.println("Got signature of the axioms"); System.out.println("Creating Map from concept names to axioms"); Map sigToAxioms = seg.signatureToAxioms(allAxioms, axSignature); System.out.println("Got map from concept names to axioms"); */ Set sig = new HashSet(); sig.add(swoopModel.getSelectedEntity()); URI uriOntology = swoopModel.getSelectedOntology().getURI(); System.out.println("Getting Module"); OWLOntology module = seg.getModule(allAxioms, sig, axSignature, sigToAxioms, uriOntology, (OWLClass)swoopModel.getSelectedEntity()); System.out.println("Got Module"); swoopModel.addOntology(module); } catch (URISyntaxException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (OWLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } /* AutoEconnPartitioning partitions = new AutoEconnPartitioning( this, swoopModel, swoopModel.getSelectedOntology(), false); partitions.findModule(swoopModel.selectedEntity); */ } } else if (e.getSource() == tableauSOSMenu) { swoopModel.setUseTableau(!tableauSOSMenu.isSelected()); } else if (e.getSource() == findAllMUPSMenu) { swoopModel.setFindAllMUPS(findAllMUPSMenu.isSelected()); } else if (e.getSource() == newOntMItem) { // New Swoop Ontology ontDisplay.addNewOntology(); } else if (e.getSource() == ontRemoveMItem) { // Remove Swoop Ontology JList ontList = ontDisplay.ontList; if (ontList.getSelectedValues().length == 1) { // remove single OWL Ontology if (swoopModel.selectedOntology != null) ontDisplay .removeOntology(swoopModel.selectedOntology, true); } else if (ontList.getSelectedValues().length > 1) { // batch removal of OWL Ontologies String title = "Batch Removal of OWL Ontologies"; int options = JOptionPane.YES_NO_OPTION; int result = JOptionPane .showConfirmDialog( this, "This is going to remove ALL Selected Ontologies from SWOOP. Continue?", title, options); if (result == JOptionPane.YES_OPTION) { Object[] selOnts = ontList.getSelectedValues(); for (int i = 0; i < selOnts.length; i++) { OWLOntology ont = (OWLOntology) selOnts[i]; ontDisplay.removeOntology(ont, false); } } } } else if (e.getSource() == JMenuFileNew) { // New SWOOP workspace this.clearWorkspace(true); } else if (e.getSource() == loadOntMItem) { // load SWOOP Ontology loadFile(false); } else if (e.getSource() == loadWkspMItem) { // load SWOOP workspace loadFile(true); } else if (e.getSource() == saveWkspMItem) { // save SWOOP workspace if (wkspcFile != null) saveWorkspace(true, true); else saveAsFile(true, false); } else if (e.getSource() == saveAsMItem) { // save as SWOOP workspace saveAsFile(false, false); } else if (e.getSource() == clearMItem) { // clear workspace clearWorkspace(true); } else if (e.getSource() == exportStatsMItem) { // export ontology statistics JFileChooser chooser = new JFileChooser(); chooser.addChoosableFileFilter(new TextFileFilter()); chooser.removeChoosableFileFilter( chooser.getAcceptAllFileFilter() ); int returnVal = chooser.showSaveDialog( this ); if(returnVal == JFileChooser.APPROVE_OPTION) { try { File f = chooser.getSelectedFile(); // prompt user if overwriting if (f.exists()) { int result = JOptionPane.showConfirmDialog(this, "Saving File at " + f.getAbsolutePath() + ". Overwrite?", "Save Ontology Statistics", JOptionPane.YES_NO_OPTION); if (result != JOptionPane.YES_OPTION) return; } FileWriter fw = new FileWriter(f); // get swoop ontology info pane SwoopOntologyInfo soi = (SwoopOntologyInfo) ontDisplay.renderers.get(0); fw.write(soi.statsText); fw.close(); } catch (IOException ex) { ex.printStackTrace(); } } } else if (e.getSource() == exportTreeMItem) { JFileChooser chooser = new JFileChooser();// chooser.setDialogType( JFileChooser.SAVE_DIALOG ); chooser.addChoosableFileFilter( new TM3FileFilter() ); chooser.addChoosableFileFilter( new STFileFilter() ); chooser.removeChoosableFileFilter( chooser.getAcceptAllFileFilter() ); int returnVal = chooser.showSaveDialog( this ); if(returnVal == JFileChooser.APPROVE_OPTION) { System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName()); VisualizationFileFilter filter = (VisualizationFileFilter)chooser.getFileFilter(); this.termDisplay.exportCurrentTree( chooser.getSelectedFile(), filter.getExtension() ); } } else if (e.getSource() == exportHTMLMItem) { // export HTML of currently selected entity/ontology this.exportHTML(swoopModel.selectedOWLObject); } else if ( e.getSource() == exportInferredKB ) { // turn on pellet, if necessary, and then dump the inferred ontology to a file this.exportInferredKB(); } else if (e.getSource() == prefMItem) { // show preferences SwoopPreferences preferences = new SwoopPreferences(this, swoopModel); preferences.loadPreferences(); preferences.show(); } else if (e.getSource() == ontSaveMItem) { // save SWOOP ontology object/owl file try { // get current ontFile based on ontology selection in Swoop ontFile = (File) this.fileOntMap.get(swoopModel.getSelectedOntology().getPhysicalURI()); } catch (OWLException e1) { e1.printStackTrace(); } if (ontFile != null) { String extension = ontFile.getName().substring( ontFile.getName().lastIndexOf(".") + 1, ontFile.getName().length()); if (extension.equals("swo") || extension.equals("SWO")) saveOntologyFile(); else if (extension.equals("owl") || extension.equals("OWL") || extension.equals("rdf") || extension.equals("RDF")) saveOWLFile(); } else saveAsFile(false, true); } else if (e.getSource() == exportMItem) { ontDisplay.saveRemoteOntology(); } else if (e.getSource() == addBookmarkMenu) { addBookmark(); } else if (e.getSource() == remBookmarkMenu) { removeBookmark(); } else if (e.getSource() == sortBookmarkMenu) { sortBookmarks(); this.addBookmarksMenu(); } else if (e.getSource() == browserMenu) { if (swoopModel.selectedOWLObject != null) { try { String openuri = swoopModel.selectedOWLObject.getURI() .toString(); if (openuri.startsWith("file:/") && !openuri.startsWith("file:///")) openuri = "file:///" + openuri.substring(6, openuri.length()); BrowserControl.displayURL(openuri); } catch (OWLException e1) { e1.printStackTrace(); } } } else if (e.getSource() == launchBarMenu) { // toggle launch bar visibility launchBar.setVisible(launchBarMenu.isSelected()); } else
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?