1 / 22

June 1st, 2008 Michael Erdmann, Peter Haase, Holger Lewen, Rudi Studer

Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit. June 1st, 2008 Michael Erdmann, Peter Haase, Holger Lewen, Rudi Studer. Agenda. General Eclipse Overview Plug-in Example: Import wizard for ontologies NeOn Toolkit:

nedaa
Download Presentation

June 1st, 2008 Michael Erdmann, Peter Haase, Holger Lewen, Rudi Studer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ontology Engineering and Plugin Development with the NeOn ToolkitPlug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,Holger Lewen, Rudi Studer

  2. Agenda • General Eclipse Overview • Plug-in Example: • Import wizard for ontologies • NeOn Toolkit: • Extension Points • Datamodel API • Hands-on plug-ins: • Write your own plugin for the NeOn Toolkit

  3. Eclipse Plug-in Architecture • Plug-in = smallest unit of Eclipse functionality • Big example: HTML editor • Small example: Action to create zip files • Extension point = named entity for collecting “contributions” • Example: extension point for workbench preferences UI • Comparable to Java interface • Extension = a contribution • Example: specific HTML editor preferences • Comparable to Java class implementing an interface

  4. Eclipse Platform - Summary • Plug-ins, extension points, extensions • Modular, open, extensible architecture • “Everything is a plug-in” • Workspace, projects, files, folders • Common place to store and organize development artifacts • Workbench, editors, views, perspectives • Common UI paradigm • Not only for Java Development… • IDEs for other languages (C++, Python, PHP…) • UML, Reports, Data base schema, … • NeOn Toolkit, OntoStudio

  5. Why we Love Eclipse ;-) • What Eclipse provides for you: • A lot of preexisting components, “workflows” (wizards…), services • Frameworks for editors (text & graphical), property dialogs, preferences, concurrent tasks, debugging, … • Support for typical IDE and Workspace tasks • Extensible online-help • […] • What some prominent plug-ins provide for you (NeOn): • Metamodel support • Graphical tool generation support • Collaboration support • Web service support • […]

  6. Agenda • General Eclipse Overview • Plug-in Example: • Import wizard for ontologies • NeOn Toolkit: • Extension Points • Datamodel API • Hands-on plug-ins: • Write your own plugin for the NeOn Toolkit

  7. Create a New Plug-in Project

  8. Specify Project Properties

  9. Specify Plug-in Properties

  10. Plug-in Wizard

  11. Choose Template

  12. Customize Template

  13. ImportWizard Template • Find more information about Wizards at • http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/dialogs_wizards.htm • http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/dialogs_wizards_extensions.htm • Find more information about ImportWizards at • http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.user/reference/ref-70.htm • http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/dialogs_wizards_importWizards.htm

  14. The Plug-in is Created • The Plug-in is now ready! • But without any customized code, i.e. it is hardly doing anything. • You can try it out, by starting the NeOn Toolkit. • Afterwards, you can browse the plug-ins properties…

  15. Plug-in Properties

  16. Plug-in Dependencies Add here:- com.ontoprise.ontostudio.datamodel- datamodel- datamodelbase- util

  17. Specify here: packages that should be visible externally, i.e. can be used by other plug-ins Runtime Specs Specify here:libraries that are needed by this plug-in at runtime

  18. Extending Extension Points Adapt the properties here, e.g. - better labels - other icons

  19. ImportWizard.java • Find your ImportWizard.java class • Go to the default implementation of performFinish() • This method will be called when the ImportWizard’s <Finish> button will be pressed. • We will refine this method to actually load an ontology. • Add this line to performFinish() return openOntology(file); • Implement the method as shown on next page: private boolean openOntology(IFile file)

  20. ImportWizard.openOntology(IFile)

  21. ImportWizardPage.java • Find your ImportWizardPage.java class • Go to the default impl. of createAdvancedControls () • This method will be called when the different pages of the wizard are initialized. • We will refine this method to restrict the file filter to ontology extensions understood by NeOn Toolkit. • Replace the line String[] extensions = new String[] { "*.*" }; • With this one: String[] extensions = new String[] {"*.oxml", "*.flo", "*.rdf", "*.owl"};

  22. Sample Implementation • Solutions are provided on the CD org.neontoolkit.sample.ontologyimport

More Related