= GnowsisApiRequirements = Write here what you think that would be useful to get from gnowsis. The following gnowsis components are available in principle, offering both service/database oriented features and also GUI features: * '''application-logic''' by LeoSauermann + FlorianMittag * GnowsisInstaller - what happens during the gnowsis installation, what should happen? * PimoService - a service that holds the PIMO, providing an API to edit it. Part of gnowsis-server. * PimoContentTraining - semi-automatically training the classes of the pim by the content added to them * TaggingApi - API to tagging of recources with things or tags * ThingCreationService - (wiki:Gunnar) automatic creation of things from resources (rebirth-machine) * '''GUI-related components''' by LeoSauermann + DominikHeim * PimoThingEditor - the gui to edit the personal mental models. Edit a thing. * MiniquireGui - the miniquire sidebar showing assistance * EnquireSearch - searching using enquire * TaggingPluginThunderbird - tagging from thunderbird * ConfigurationWindow - editing configuration values * '''Storage-related services''' by wiki:Gunnar + DanielBurkhart * ApertureConfigurationService - the services around configuring aperture, helping during installation, etc. * ApertureDatasources - what data sources do we plan to use and what data can be expected? * ConfigurationStorage - stores config data * PimoStorage - * ResourceStorage - * ServiceDataStorage * ApertureSynchroniser = Requirements = LeoSauermann: My requirements would be that I can run SPARQL and SERQL queries from outside and extract data from gnowsis. I would like to write a gnowsis client that runs from within applications like Microsoft Powerpoint or Ultima Online. ---- Frank: I'd like to run SPARQL/SERQL queries from outside, querying the _complete_ data that is available in Gnowsis, and not just a part of it (like it is in the current SPARQL interface querying only the crawled part of it). I want to be able to access everything via SPARQL I can see in a Thing Dialog. I'd need in particular: * Mail: folders and mails: folder structure, folder and mail labels (subject), sender, receivers, and content. Perfect would be full access to all mail headers. For example, it would be very useful to know whether a mail is from a mailinglist or not (list-id header). This is most probably too much overhead for most Gnowsis use cases, but it would be great if I could either a) configure it which headers to return (my favourite solution ;-) ) or b) patch my own Gnowsis/Aperture by adding a few lines in the appriopriate code file. * Addressbook: Contacts with name, email... It would be nice if I could find out the source of a foaf:Person easily (it makes a difference if a Foaf person was extracted from a CC in a mail or from the addressbook, you certainly don't want every mail receiver in your PIMO) * File Folders and Files: structure, labels (filenames), and fulltext * RDF data sources: a data source reading RDF/XML files '''!ChangeLog:''' When crawling, it would be nice to get the changes from a data source since the last crawl. '''User observation''': For my thesis and Mymory in general, it would be useful if Gnowsis and user observation would play well together and services like !FileSystemObserverService could be ported without much hassle. ---- Jon: We have written our application in .Net and are capturing operating system events. We would like to contact gnowsis via a Joseki-like interface. For example, we would like to call methods like this: {{{ #!java public String getQueryResultAsRDFXML() }}} ---- Somebody: RSS Feeds! (Frank: have a look at [https://rome.dev.java.net/ ROME] for a sane looking (looking, haven't actually tested it) RSS/Atom parser written Java) = Existing Interfaces = * PimoService: [source:trunk/gnowsis-server/src/java/org/gnowsis/pimo/PimoService.java PimoService.java] * TaggingApi: [source:trunk/gnowsis-server/src/java/org/gnowsis/pimo/TaggingApi.java TaggingApi.java] * PimoStorage: [source:trunk/gnowsis-server/src/java/org/gnowsis/repository/PimoStorage.java PimoStorage.java] * ResourceStorage: [source:trunk/gnowsis-server/src/java/org/gnowsis/repository/ResourceStorage.java ResourceStorage.java]