Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,

Similar presentations


Presentation on theme: "Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,"— Presentation transcript:

1 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

2 Slide 2Agenda  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 Slide 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 Slide 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 Slide 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 Slide 6Agenda  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 Slide 7 Create a New Plug-in Project

8 Slide 8 Specify Project Properties

9 Slide 9 Specify Plug-in Properties

10 Slide 10 Plug-in Wizard

11 Slide 11 Choose Template

12 Slide 12 Customize Template

13 Slide 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.htmhttp://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.htmhttp://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.htmhttp://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.htmhttp://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/dialogs_wizards_importWizards.htm

14 Slide 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 Slide 15 Plug-in Properties

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

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

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

19 Slide 19ImportWizard.java  Find your ImportWizard.java class  Go to the default implementation of performFinish() –This method will be called when the ImportWizard’s 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 Slide 20ImportWizard.openOntology(IFile)

21 Slide 21ImportWizardPage.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 Slide 22 Sample Implementation  Solutions are provided on the CD org.neontoolkit.sample.ontologyimport


Download ppt "Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,"

Similar presentations


Ads by Google