The Nepomuk Programming Tutorial
There is a slight chance that you are in the wrong wiki -- if you wonder "Java? I was looking for the KDE C++ implementation." Then, please refer to the NEPOMUK KDE Project Documentation.
Introduction to Nepomuk programming
Before you start programming, have a look at the ProgrammingGuidelines that you must follow when committing code. They are similar to any other java-based open-source project, so if you never developed in an open-source project before, read them.
Take these first steps to get into NEPOMUK programming:
- EclipseDevelopment - learn how to setup eclipse to develop NEPOMUK OSGi components
- BootstrapProjects - to see how Eclipse and OSGi can be used. Mikhail has set up some BootstrapProjects that show how to effectively program using OSGI bundles and Eclipse.
- OsgiTipsAndTricks - troubleshooting and help to get along with OSGi
More advanced topics, which you will need once you are into developing:
- AutomatedTesting - how to create automated tests of your components, which test data to use, and how to verify if you have broken something that worked before.
- NepomukMockup - more about mockup objects which you can use to write JUnit tests.
Test Data and Claudia Stern
For development and demo purposes, an artificial test data set exists. The data circles around the user Claudia Stern and can be loaded into a running NEPOMUK system for testing and demo.
Creating Applications Using the NEPOMUK Services
This is the common case for development with NEPOMUK: you use it as a library to build your user interfaces or other algorithms. To get started with NEPOMUK, first get the desktop server and run it. Then download the client and connect to the server.
- NightlyBuilds - download this
- NepomukClient - a client to connect to the server
Download and run both before continuing. You will need Eclipse or another Java IDE to use the NepomukClient - it is a collection of driver jar's and some source code connecting them to the server.
Once you have the NightlyBuilds installed and running and the NepomukClient opened and compiled in your IDE of choice, look at this example file:
See if you can get the example to run, it is tested and should work on all supported platforms.
Detailled fields of development
Once you know the basics, learn about single services:
Contacting the RDF Repository
- Read RdfRepository.
- QueryingTheRepository - how to clever do SPARQL/SERQL queries
Developing in PSEW
Read
- PimoUserInterface - general tips on user interfaces building on the nepomuk ontologies.
- PSEWHacking - tips and tricks
- GnognoInPsew - using visual components in PSEW to display lists, edits, treeviewers, icons conveniently
- PimoInPSEW - showing PIMO related views in PSEW
Using Ontologies
An overview of the Nepomuk Ontologies is given here:
- Social Semantic Desktop Ontologies
- OntologiesHowTo - A Tutorial how to create RDF data that conforms to these is here:
- OntologiesDevelopment - To write Java programs using the Nepomuk components, refer here:
- NepomukInferencing - limited inference and SPARQL'ing in nepomuk
Programming NEPOMUK Services
You must use Java and Eclipse. You need to setup your development environment first:
When writing code and submitting to the repository, you must always conform to the ProgrammingGuidelines
For sharing your services with the rest of Nepomuk you need to use the:
If your service uses many other services, you may want to consider using the:
- OSGINepomukDependencies utilities
