Creating a user interface for PIMO data
This page has a few tips and answers for people building user interfaces for NEPOMUK. Related information is:
- PimoOntology - read this first (and the pdf)
- PimoService - you will need it
- PimoClient - convenient access with many methods
- PimoEditor - a web-based PIMO user interface
Selecting which data to show and how
When you render a PIMO thing, you need to select, order, and filter the right properties to show.
- Use fresnel lenses to do the selection, filtering, ordering. This is implemented in PimoEditor.
- Use nao:prefLabel as labels of things, don't show URIs instead of labels. Its ok to show an URI additional to a label, for example when the user hovers over a thing, but never create a label of a thing by stripping the localname off an URI or showing the URI only. We have labels, in multiple languages, use them. PimoClient has a convenient getLabel method in PimoQuery, use it.
- only show properties that are sub-properties of pimo:datatypeProperty or pimo:objectProperty. All other properties are considered weird metadata that is not intended for the user.
Filtering Data Using Fresnel
A simple basic fresnel lens that shows something can be found here:
We extended fresnel for editing, with the FreditOntology. Fredit defines which widgets to use for editing a certain datatype, and options for these widgets.
An implementation interpreting fresnel and fredit is here:
If you want to extend this class, we can move it to Nepomuk SVN into the GnognoComp.
