The PimoStorage stores the user's Personal Information Model. Basically, thats all ontologies, tags and wiki pages, and the relations to resources.

more about: PimOntology

Usage example:

// I write a triple to the pimo
Repository r = Gnowsis.getPimoStorage().getRepository();
Transation t = r.startTransaction();
// add something
t.add(new StatementImpl(s, p, o));

// do fulltext search on pimo, using lucene query language
Iterator<Tag> tagI = Gnowsis.getPimoStorage().search("Hello*");
while (tagI.hasNext())
  Tag t =;
  System.out.println("found thing: "+t.getUri()+ " with name "+t.getName());


  • text indexing (using the lucene SAIL, configured to what is indexed).
  • Reification is used to say when a triple was inserted when its a user triple like pimo:occurrence.
  • Storage is NativeSail + luceneSail

Named graphs and ontologies in the PIMO Storage

Since the Update to named graphs for the Pimo in July 2006 the PIMO Storage is used to distuingish between ontologies using named graphs. The context information in the quad-store is used to identify the ontology.

We use the fourth element (context) of these quads for the URI of the ontology, the uri of the resource that describes the ontology is used, not the namespace.

For example, for the PIMO-language the context identifier is

The management of the ontologies inside the PimoStorage is now handled by the PimoService.

You should stop using the web interface for Sesame1 to add data, it is not named graph conformant, we will work on that.

Domain Ontologies

The user might decide to write a domain ontology or download one from the web. If that happens, the domain ontology (example: beer ontology) will be glued into the user's pimo.

learn more about DomainOntologies.

Last modified 18 years ago Last modified on 09/20/06 23:31:57