Ontiki (from Ontology
is an experimental web application
that Rich Morin
and some friends
Basically, Ontiki is a structured wiki
backed by a server which allows scripting in an embeddable
dynamic programming language
This language, in turn, provides access to both raw information
(via a Git
and a knowledge base (eg, an RDF Triplestore
These resources are continuously updated by a back-end processing system,
responsible for gathering raw information, extracting metadata, etc.
This combination allows Ontiki to store and index large amounts of content
(eg, millions of documents).
The embedded programming language supports the generation
of ad hoc
, arbitrarily complex dashboards and reports.
Finally, because Ontiki is basically a wiki,
any report can be annotated by users with comments, questions, etc.
Ontiki is intended to serve as both a useful platform
and a testbed for experimentation in collaborative development.
Because of its inherent extensibility,
Ontiki should be capable of playing a variety of roles
(eg, bug tracking system
content management system
decision support system
management information system
Of course, each of these roles will require the creation
of specialized support pages.
In the short term, Rich hopes to use Ontiki
to document parts of the Ruby ecosystem (eg, Rails, Ruby, RubyGems);
He is also interested in experimenting with existing ontologies.
For more information on possible applications, see Use Cases
Conventional wikis are not well suited to handling the kinds of information
(eg, classes, entities, relationships) used for building ontologies,
supporting model-based documentation
lists hundreds of wikis,
few have even minimal capabilities in this direction.
and Semantic MediaWiki
for example, support some page-level metadata and scripting.
However, because these are not central to the wikis' designs,
they are very limited in convenience and capabilities.
In addition, the large code and user bases of these wikis
tend to make large-scale changes impractical.
However, it's quite possible to augment
a conventional wiki
by means of a back-end server.
In this scenario, the wiki only needs to generate URLs for the server,
including any needed parameters, and "include" the resulting output.
Even without plugin support, TWiki/Foswiki
can do this.
In addition to conventional wiki features, Ontiki should support:
- dynamic use of external content
- executable scripts within pages
- fine-grained, flexible access controls (eg, ACLs)
- arbitrary, structured metadata for (sets of) pages
- powerful searching on content and metadata
These features combine to allow greatly increased levels of extensibility.
For example, it should be possible to create "library pages",
containing access and/or presentation methods.
This code could then be included and used by other pages.
Alternatively, any user could make a copy of a library page,
edit it to taste, and use it for their own purposes.
Rich is currently implementing Ontiki as batch-mode processing system,
feeding Git and a Semantic Web server.
A specialized "execution server" will retrieve pages from the wiki,
load and execute them, and output the result for use
(eg, inclusion, processing) by the requesting wiki page.
This wiki contains Rich's project notes,
arranged in a reasonably hierarchical fashion.
For additional information, see the TopicTree
This wiki page is maintained by Rich Morin
an independent consultant specializing in software design, development, and documentation.
Please feel free to email
comments, inquiries, suggestions, etc!