Anthony DiPierro wrote:
I think there is a growing sentiment that people do
not want to fork
Wikipedia to create Wikispecies. This makes a lot of sense. However, there
is something important that is needed for Wikispecies which Wikipedia does
not provide: efficient access of tabular data.
I was thinking along similar lines a couple of months ago, when
considering the needs of Wikiquote, and to a lesser extent Wiktionary.
The basic plan I came up with was:
* Each record is an arbitrary list of key-value pairs.
* User-designed edit forms and search forms constrain data entry to
* User-designed display templates are used to format the data and
integrate it with other parts of the wiki
* Each field has an index, to allow fast searching and report generation.
* Indexes may be sparse, with most records not containing a given field.
I believe this can be efficiently handled by creating a separate table
for each key, on demand at runtime.
The technical design is subject to constraints such as:
* Robust against frivolous or malicious addition of new fields to a
small number of records
* Peer review and the reverting of any change must be easy
* Capable of efficiently storing a number of different schemas
(represented by different data entry, search and display forms) in the
Challenges which still have to be addressed include:
* Possibility of slow insert times
* Malicious or accidental destruction of fields which are commonly used
for indexed retrieval -- this may make records hard to find and revert.
Far be it from me to co-opt such a generic term as "WikiDB", I would
call this *a* WikiDB module for MediaWiki. The applications for such a
package would be extraordinarily broad. All that we need now is for me
(or someone else) to get motivated and write it.
-- Tim Starling