Progress so far on the KendraTools
Test server up running:
- Debian unstable
- Python2.3 (have resolved pyPgSQL? issues...)
- pyPgSQL? 2.3
- Some simple web scripts
Implemented so far:
- URI-based triple store
- very simple prefix stripping and replacement...
- Simple user interface with triple editing
- DB dump and load
- Simple interfacing to Tim Berners-Lee's cwm engine
- Via external process and pipes, at the moment...
- Various user-views: Wiki-style, RDF, triples, browsing...
- Everything is Unicode-transparent, so multilingual support is easy (check this: is cwm Unicode-transparent?)
- basic logical inference with cwm has been tested
- basic reasoning should only take a couple of seconds on a fast machine for limited inference worlds of a few hundred facts
- this should be the size of our ontologies...
Now it's time to start serious integration of the work done so far.
Things to do:
- at the moment, the web UI is a single fused mass of make-hook, do-action, and display-page code. This should be made pluggable ASAP.
- make-hook: making a form or link that will activate a server action
- do-action: what it says -- kicked off by hook URLs or form GET/POSTs?
- display-page: display a page or part of a page, based on the aftermath of a hook/action sequence
- unify cookies etc into this framework
- Make external converters more easily added...
- Core HTML / CGI / URL / cookie / login services
- Database services Done
- Pluggable external data transformation (N-triples <-> N3, RDF) Done
- Page generation, actions, action dispatcher...
- table&hook-driven rather than hard-coded
"Virtual document" idea:
- a single internal representation for
- editable triple set
- generated RDF
- generated n3
- Do we add this as other fields (baseuri, linenumber) to the already-overloaded triple store?
- Or to build an external document table structure.
Fields for this are simply:
baseuri linenumber triple_id
Note that this also should be possible to be reified (!).
See: KendraBaseLessonsLearned for more on this.
- Don't forget to add URLescaping to UTF-8 unicode chars...
- Is it yet time for full end-to-end native Unicode strings, rather than UTF-8?
- Direct database storage for generated datatypes, and XML generation from this...
- Logic / ontology-based SQL query generation (???)
- Adding a native DB interface to CWM?
- Finding an alternative processor module?
- Write our own?
- Replace underpinnings with something like [Redland]? (uses LGPL or MPL licenses)