= PimoStorage = 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 ''' * [source:branches/gnowsis0.9/gnowsis-server/src/java/org/gnowsis/repository/PimoStorage.java Sourcecode PimoStorage.java] * [http://www.gnowsis.org/statisch/0.9/doc/gnowsis-server/javadoc/org/gnowsis/repository/PimoStorage.html Javadoc PimoStorage.java] 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)); t.commit(); // do fulltext search on pimo, using lucene query language Iterator tagI = Gnowsis.getPimoStorage().search("Hello*"); while (tagI.hasNext()) { Tag t = tagI.next(); System.out.println("found thing: "+t.getUri()+ " with name "+t.getName()); } }}} Features: * 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 = Using Context in the PIMO = The fourth part of a triple - context - can be used differently in the pimo, we haven't decided yet how. Possibilities for context are: * use context to seperate between domain ontologies. Context = uri of the InformationModel (not namespace, btw). * use context for each triple: each triple has a context, context is a random uri. Uri is annotated saying who created it when in which domain ontology. This helps updates (seing "what has changed since yesterday"). = 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. So we have to support: * creation of domain ontologies * deletion of domain ontologies / removing of instances that were created in my Pimo using domain ontology * editing of domain ontology. * updating of domain ontology from a changed remote version.