Understanding Gnowsis
On this page you will find useful links to many documents and a tutorial that points to more pages with practical examples.
- GnowsisProjectStructure - what packages are where, whats all this code about?
- GnowsisComponents - what components does gnowsis consist of?
- UseCases - what are the handled use cases?
- GnowsisDevelopingBeta - how to develop gnowsis
- GnowsisProjectPlan - look here to see what we are doing at the moment and what will be done next.
- about - some facts about the project gnowsis
- credits - gnowsis project credits
Documents that help
- The PIMO report draft - about our data structures
- Sauermann2005a.pdf from beginning to chapter 2.1, also chapter 2.6
- Sauermann2005d.pdf chapter 3 is very good, Figure 5 gives a good overview and says much.
- publications about gnowsis (more to come)
- use cases - three simple use cases what you can do with gnowsis
The Gnowsis Developer Tutorial
This tutorial is targeted at developers who want to learn more about gnowsis and to build applications based on gnowsis. The tutorial will give links to the gnowsis wiki and the Javadoc, pointing to more information about features. This tutorial contains only pointers, you should follow some links to learn more.
The gnowsis databases
Gnowsis provides four different RDF databases, for different uses:
- PimoStorage - The PimoStorage stores the user's Personal Information Model. Basically, that includes all ontologies, tags and wiki pages, and the relations to resources.
- ResourceStorage - Stores information about all resources that are extracted from the file-system, address-books, e-mails, websites. Its filled by Aperture and the ApertureSynchroniser. Sometimes applications add a resource here before they are tagged using the TaggingApi, so also the TaggingApi will store here.
- ConfigurationStorage - Configuration data such as user-name, e-mail address, namespaces and URI of the PIMO, etc.
- ServiceDataStorage - The service data storage provides a RDF database that can be used by any service of gnowsis to store arbitrary RDF data. Usually, this would be data like usage statistics, crawling reports, access restrictions, Icon configurations, user interface configurations, etc.
As a developer, the interesting bits for you are most of the time in the PimoStorage. What data to store there and how to store it is described in the PIMO report
Accessing the RDF databases
To read and write data to these databases, you have four different possibilities:
via the PimoService. This is the recommended way to read and write data. As you will mostly work on the PimoStorage and this storage makes use of named graphs, you can easily wreck things. Also you can quickly make the storage invalid, when you add or delete the wrong triples. The methods of the PimoService are tested and allow most manipulations you need in daily programmer's life.
via the DataAccessService and XML/RPX
via java calls from within the gnowsis VM. You call methods like these:
Gnowsis.getPimoStorage().getRepository
WE need this document :-|
This is input by a "gnowsis apprentice":
Ich habe vieles davon durchgelesen, was du mir geschickt hast und konnte mir ein gutes Bild über Gnowsis machen, habe alles erfahren, was ich wissen wollte. So ist aber der Aufwand für den Einstieg natürlich sehr gross. Du hast erwähnt, dass du um die 10 Seiten schreiben möchtest um Gnowsis vorzustellen. Was mich in so einem Schriftstück interessieren würde:
- Was ist Gnowsis, was sind die Hauptmerkmale (Semantic Desktop, pers.
Informationsraum, Nutzen für den Benutzer)
- Features (Dokumente, Mails, Todos usw. einbinden, 'Kategorisierung'
neuer Dokumente, Suche usw.)
- Grobbeschreibung der verwendeten Methoden/Technik
(Wissensrepräsentation, Ontologie, Information Extraction, Lernmethoden, Information Retrieval in Gnowsis)
next steps
split the tutorial up to several wiki pages, to include them all use:
[[WikiInclude(ExistingPageWithinYourTrac)]]