Skip to content

LexDbInternals

BenjaminWaldron edited this page May 17, 2005 · 17 revisions

Fields of the LexDB

The main DB table public.rev contains an entry for each revision of each lexical entry. The fields which make up each revision entry are defined when the LexDB is initialized.

The following fields occur in every LexDB

name TEXT NOT NULL,
userid TEXT DEFAULT user NOT NULL,
modstamp TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
dead BOOLEAN DEFAULT 'f' NOT NULL

Additional fields are defined by the user. Eg.

 type TEXT
 orthography TEXT
 keyrel TEXT
 altkey TEXT
 alt2key TEXT
 keytag TEXT
 altkeytag TEXT
 compkey TEXT
 ocompkey TEXT
 pronunciation TEXT
 complete TEXT
 semclasses TEXT
 preferences TEXT
 classifier TEXT
 selectrest TEXT
 jlink TEXT
 comments TEXT
 exemplars TEXT
 usages TEXT
 lang TEXT
 country TEXT
 dialect TEXT
 domains TEXT
 genres TEXT
 register TEXT
 confidence real DEFAULT 1
 source TEXT

A unique entry is specified by <name,userid,version> (the primary key).

The entries in public.rev are available to all users. In addition, for each user the table USERID.rev stores entries available only to that user (eg. new edits).

Before using the LexDB in the context of a parsing or generating applicationit is necessary to select the set of revisions constituting the current grammar. This is achieved by means of the user's FILTER. For example, the filter

userid = 'danf'

would restrict us to using only entries created by the user danf. When multiple instances of the same name pass the filter, we take the most recent (by modstamp). This filtered view is stored (to speed lookup) in USERID.lex.

Clone this wiki locally