Knowledge Explorer News
No. 13
July 8, 1999

report generation; execution time

1. recent changes
I have made many improvements to KE in the last month.
All significant changes are logged in KEHOME/doc/version.rel.
Here's a quick summary of the changes which affect the
user interface.
    !cc infon -- sets $1,$2,... -- good for report generation
    meaning = { sentence } -- avoids nested quote problems
    name *= value -- set intersection -- all values are now sets
    product := sentence. and the value is saved in $product
    variable length argument list for method -- e.g. KEHOME/family/tree.ku
    !timestamp message -- new command for execution timing
    improved printout of actions & events
    revised verbs for generators -- isa, ism, in
    renamed parameters
        isastar  ->  automatic
        hseparator  ->  hoseparator
        rseparator  ->  relseparator

2. report generation
The !print command, combined with $variables, provides a simple way
to create customized reports.  As a trivial example, you can generate a
phonebook from a knowledge base as follows.  Given that phone numbers
are specified in the form

    Dick McCullough isa person
    Dick McCullough has phone=209-295-1365

the phonebook is generated by

    echo = off
    every p isa person do
        !cc $p;
        !print "$p; $phone";
    done
    echo = on

To produce a phonebook relation as output, all you have to do is add

    phonebook is relation with
        format = "person:1; phone:2",
        meaning = "$1 has phone = $2"

    phonebook is ?
    !print "!begin relation phonebook"
    ...
    !print "!end relation phonebook"

3. execution time
My own family history knowledge base has now grown to 700 people
and 1800 infons (relation units).  Using the relations defined in the
KEHOME/family directory, I have measured the following results
for my 133 MHz pentium running Windows 98

    initialize tabula_rasa:  20 seconds
    input knowledge base:  2 seconds / infon
    output summary:  2 seconds / person

It took 69 minutes to load my KB, and 25 minutes to generate a summary.
Some of my future effort will be devoted to reducing these times.
The output summary is 17380 lines (about 290 pages).