Difference between revisions of "Tutorial: Ontology Development"
m |
m |
||
Line 3: | Line 3: | ||
== Step 1: Ontology Plug-in == | == Step 1: Ontology Plug-in == | ||
− | Ontologies are encapsulated in OSGi bundles. In eclipse we develop them as equinox plug-ins. | + | Ontologies are encapsulated in OSGi bundles. In eclipse we develop them as equinox plug-ins. An ontology bundle is a package that contains the sources (graph/*.pgraph), a compiled graph file (graph.tg), and Java resource files (src/ and bin/). |
Open a New Plug-in Project wizard: | Open a New Plug-in Project wizard: | ||
− | * '' ''' | + | * Open Plug-in Development Perspective |
+ | * '' Select '''File''' >> '''New''' >> '''Other''' | ||
+ | * '' Select '''Plug-in Development''' >> '''Plug-in Project''' '' | ||
− | Our organization is Acme Software ltd and from there is our plug-in name derived, ''com.acme.movie.ontology''. Insert that as project name. In the following page you should know that this plugin does not contribute to UI, does not need activator or isn't a rich client application. | + | A ''New Plug-in Project'' wizard will open. |
+ | # Our organization is Acme Software ltd and from there is our plug-in name derived, ''com.acme.movie.ontology''. Insert that as project name. '''Next >''' | ||
+ | # In the following page you should know that this plugin does not contribute to UI, does not need activator or isn't a rich client application. '''Next >''' | ||
+ | # Select a template ''Plug-in with a Simantics Ontology''. '''Finish''' | ||
===Setup Graph Building Nature=== | ===Setup Graph Building Nature=== |
Revision as of 08:16, 14 October 2010
"What's up folks." Today we are going to create a movie ontology for a client of your Acme company.
Step 1: Ontology Plug-in
Ontologies are encapsulated in OSGi bundles. In eclipse we develop them as equinox plug-ins. An ontology bundle is a package that contains the sources (graph/*.pgraph), a compiled graph file (graph.tg), and Java resource files (src/ and bin/).
Open a New Plug-in Project wizard:
- Open Plug-in Development Perspective
- Select File >> New >> Other
- Select Plug-in Development >> Plug-in Project
A New Plug-in Project wizard will open.
- Our organization is Acme Software ltd and from there is our plug-in name derived, com.acme.movie.ontology. Insert that as project name. Next >
- In the following page you should know that this plugin does not contribute to UI, does not need activator or isn't a rich client application. Next >
- Select a template Plug-in with a Simantics Ontology. Finish
Setup Graph Building Nature
First, Make sure you have installed Ontology Graph Compiler to your Eclipse. Next, add Graph builder into the project nature.
- "com.acme.movie.ontology"' >> Context Menu >> Configure >> Add graph compilation
Also create directory called graphs, and there a file Movie.pgraph.
Configure MANIFEST.MF
Your ontology well depend on Layer0, so open META-INF/MANIFEST.MF in a editor and add org.simantics.layer0 to plug-in dependencies.
Also, you are going to
- Export package com.acme.movie.ontology
Your MANIFEST.MF should look like this.
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Ontology Bundle-SymbolicName: com.acme.movie.ontology Bundle-Version: 1.0.0.qualifier Bundle-Vendor: ACME Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Require-Bundle: org.simantics.layer0;bundle-version="1.0.0" Export-Package: com.acme.ontology
Developing the ontology
Open Movie.pgraph and start editing.
As you are using Layer0 concepts, it is a good idea to capture its namespace:
L0 = <http://www.simantics.org/Layer0-1.0>
Your acme company has a namespace which is used . You are creating a new one so it must be stated.
<http://com.acme> : L0.Library @L0.new
The ontology has a representing resource, an instance of L0.Ontology. Don't forget to add stub-compiler metadata L0.HasResourceClass.
Movie = <http://com.acme/Movie-1.0> : L0.Ontology L0.HasResourceClass "com.acme.ontology.Movie"