home *** CD-ROM | disk | FTP | other *** search
/ Zodiac Super OZ / MEDIADEPOT.ISO / FILES / 04 / SATURN50.ZIP / SATURN.DOC < prev    next >
Text File  |  1996-08-18  |  86KB  |  1,971 lines

  1. .R:P
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                       ╔═════════════════════════════════╗
  13.                       ║                                 ║
  14.                       ║       SATURN  VERSION 5.0       ║
  15.                       ║                                 ║
  16.                       ║                                 ║
  17.                       ║ INTELLIGENT RELATIONAL DATABASE ║
  18.                       ║                                 ║
  19.                       ║                                 ║
  20.                       ║                                 ║
  21.                       ║          USER'S GUIDE           ║
  22.                       ║                                 ║
  23.                       ╚═════════════════════════════════╝
  24.  
  25.  
  26.  
  27.  
  28.  
  29. 2
  30. 2
  31. L---+---T1----+-T--2----T----3--T-+----4T---+---T5----+-T--6----T----7--TR   r
  32. .R:Q
  33.  
  34. System Requirements:
  35.  
  36. Saturn requires a PC with an 80286 or higher processor and a colour 
  37. (CGA,EGA,VGA,SVGA) monitor and at least 4mB of memory, and a hard disk. 
  38. MS/PC DOS version 3 or higher is required. 
  39.  
  40. Saturn will operate under Windows as a "Non-windows application". You 
  41. should configure Windows to "maximise on use" and provide all available 
  42. memory to Saturn. 
  43.  
  44. Note, the shareware evaluation version will only function 20 times, and 
  45. will then expire. You will not be able to reinstall the shareware version 
  46. of Saturn, but will need to purchase the registered version.
  47.  
  48.  
  49. Copyright (c) 1994 Servile Software. All Rights Reserved.
  50.  
  51. No part of this publication may be reproduced, transmitted, transcribed, 
  52. stored in a retrieval system, or translated into any other language or 
  53. computer language in whole or in part, in any form or by any means, 
  54. whether it be electronic, mechanical, magnetic, optical, manual or 
  55. otherwise, without prior written consent of Servile Software. 
  56.  
  57. Servile Software disclaims all warranties as to this software, whether 
  58. express or implied, including without limitation any implied warranties of 
  59. merchantability, fitness for a particular purpose, functionality, data 
  60. integrity or protection. 
  61.  
  62. MS-DOS is a trademark of Microsoft Corporation.
  63.  
  64.  
  65.  
  66.  
  67. 3
  68.  
  69.  
  70. Thanks are due to the following people for their patience, assistance and 
  71. incentives in the evolution of Saturn from 1993 to 1996; 
  72.  
  73.  
  74.  
  75.                                 Malcom Rowe
  76.                               Deloris Probert
  77.                               Stephen Yarrow
  78.                                 Dave Mayer
  79.                                Dave Beecham
  80.  
  81. 4
  82. .R:P
  83.  
  84.  
  85.  
  86.                                  CONTENTS
  87.  
  88.  
  89.  
  90.  
  91.  
  92.                  LET'S GO!...............................7
  93.                  ABOUT SATURN............................8
  94.                  STARTING SATURN........................11
  95.                  SECTION ONE - THE SATURN INTERFACE.....12
  96.                  SECTION TWO - RETRIEVAL SYSTEM.........18
  97.                  SECTION THREE - PROGRAMMING SATURN.....28
  98.                  SECTION FOUR - EXPLORING NLP...........38
  99.                  APPENDIX - ONE ERROR MESSAGES..........46
  100.                  APPENDIX TWO - EXAMPLE APPLICATIONS....48
  101.                  APPENDIX THREE - THE SATURN EDITOR.....50
  102.                  APPENDIX FOUR - ACKNOWLEDGMENTS........54
  103. .R:Q
  104. 6
  105. 5
  106. .H:Saturn...User's Guide
  107. .H:
  108. .F:
  109. .F:
  110. .F:...Page $$$...
  111.                                  LET'S GO!
  112.  
  113.  
  114.  
  115. This brief introduction is designed to allow you to start exploring the 
  116. power of Saturn immediately. Saturn is a computer program that can be 
  117. viewed from two distinct directions. Firstly, Saturn is an intelligent 
  118. relational database that can be used to store and retrieve information 
  119. (data). Secondly, Saturn is an AI application that can be used to explore 
  120. the realms of natural language. 
  121.  
  122.  
  123. Saturn comes with an educational encyclopaedia file called "general.knb". 
  124. When you start Saturn, it tries to read this file. If you want to access a 
  125. different knowledge base, include its name when you start Saturn. 
  126.  
  127. For example, to get going with the general knowledge base start Saturn 
  128. with the command; 
  129.  
  130. SATURN
  131.  
  132. To use the example video catalogue knowledge base instead, start Saturn 
  133. with the command; 
  134.  
  135. SATURN VIDEO
  136.  
  137. And then select the QUERY facility from the Saturn Interface menu. You are 
  138. now in a position to start playing! 
  139. 6
  140.                                ABOUT SATURN
  141.  
  142.  
  143.  
  144.  
  145.  
  146. Saturn is an application of that branch of computer science called 
  147. "Artificial Intelligence" (AI for short). In its crudest form, Saturn is a 
  148. data storage and retrieval system. But there is much more to Saturn than 
  149. just providing you with a system for recalling facts. Saturn can "think". 
  150. I have used quotation marks around the word "think" because there is some 
  151. debate whether computer programs can actually think. Saturn has been 
  152. programmed with certain rules that it uses to cross reference the 
  153. information it has available to it, and respond accordingly to questions 
  154. put to it. These rules generally apply to the English language. In AI 
  155. circles this type of computerised process is called "Natural Language 
  156. Processing" (NLP for short). The first thing you will notice is that 
  157. Saturn accepts questions and commands in ordinary - "natural" - language. 
  158. Questions such as "what is a cat?" or more complex questions such as "is 
  159. London the capital of England?" Saturn's ability to answer questions is 
  160. dependant upon the information it has available to it. This information is 
  161. "read" from a file when Saturn is started. By default, Saturn selects a 
  162. file with the name "general.knb" to read, but you can instruct Saturn to 
  163. read other files instead. Unlike a human mind, Saturn forgets all that it 
  164. has read immediately upon being switched off or being instructed to read 
  165. another file. This means in practice that instructing Saturn to read one 
  166. file, and then subsequent files will result in Saturn forgetting all 
  167. information read from the previous files, and only retaining knowledge 
  168. from the most recent file. These files are called "knowledge bases". 
  169.  
  170. Having established that Saturn receives all its information by reading a 
  171. specified file, it is time to consider how this file is created. Unlike 
  172. conventional computer database systems, Saturn does not require its 
  173. information to be stored in a rigidly structured manner. Instead, 
  174. information is stored as natural language text with a heading preceeding 
  175. each item. The title and the text may be in either capitals or lowercase 
  176. letters. Saturn makes no distinction bewteen them. This is very similar to 
  177. the way in which information is presented in a printed book. A heading is 
  178. followed by the body of the text about the heading. For example. Let us 
  179. consider that we wish to store some brief information about "the cat". It 
  180. is important to stress the term "brief". Because Saturn cross references 
  181. information automatically, there is no need and no gain to be had from 
  182. being verbose. If consider the information we wish to store about "the 
  183. cat" is; "The cat is a genus of carnivorous animal." Then, if we were to 
  184. write this down in a notebook we might write: 
  185.  
  186. 7
  187. CAT
  188. The cat is a genus of carnivorous animal. 
  189.  
  190. Where the word "CAT" is the title of the text which follows. Saturn 
  191. expects information to be presented in a similar manner. Because 
  192. computer's are stupid, compared to us humans, we need to specify that the 
  193. word "CAT" is in fact a title. Saturn expects titles to be prefixed with 
  194. an asterisk, "*" and the information about the cat thus looks like: 
  195.  
  196. *Cat
  197. The cat is a genus of carnivorous animal.
  198.  
  199. Saturn can also accept information that alters its behaviour. This 
  200. "programming" information is of three forms: "replacements", "actions" and 
  201. "knowledge tree". 
  202.  
  203. Replacements are words that tell Saturn that one word in fact means 
  204. something slightly different. For example. Consider the statement "the 
  205. badger is an animal found in England". From this statement an educated 
  206. person can deduce that a "badger" is "English". Replacement information is 
  207. stored in the format: 
  208.  
  209. +object
  210. replacement
  211.  
  212. For example:
  213.  
  214. +English
  215. England
  216.  
  217. Actions are those words that linguists like to call "verbs". These are the 
  218. titles of various actions, such as "run", "beat", "eat" and so on. These 
  219. words tell us and also Saturn what something "does". Saturn is informed 
  220. that a word is an action by including it in the file prefixed by "@". For 
  221. example: 
  222.  
  223. @EAT
  224.  
  225. Knowledge trees are more complex. These are links between various subjects 
  226. that serve to improve the speed and reliability with which Saturn makes 
  227. deductions. We know that "all metals are inorganic". We inform Saturn of 
  228. this by including in the file a line which states: 
  229.  
  230. /ALL METALS ARE INORGANIC
  231.  
  232. 8
  233. If you are familiar with the computer language "Prolog" you will 
  234. appreciate Saturn's free-format for facts and relationships. If you want 
  235. to inform the computer that "John likes Mary", in Prolog you would write: 
  236.  
  237. likes(john,mary).
  238.  
  239. But in Saturn it is only necessary to write:
  240.  
  241. John likes Mary
  242.  
  243. Let's take this a step further. Consider the relationship between three 
  244. people; John, Mary and Peter. John likes Mary, Mary likes Peter and Peter 
  245. likes John. The word "like" is an action (crudely speaking!) so this 
  246. information can be presented to Saturn as follows: 
  247.  
  248. @like
  249. *John
  250. John likes Mary.
  251. *Mary
  252. Mary likes Peter.
  253. *Peter
  254. Peter likes John.
  255.  
  256. Saturn can then answer questions such as: 
  257. Q: Who likes John?
  258. A: Peter likes John.
  259.  
  260. Q: What does John do?
  261. A: Likes Mary.
  262.  
  263. Q: Who likes Peter?
  264. A: Mary likes Peter.
  265.  
  266. If we omit the action definition, "@LIKE" from the knowledge base, Saturn 
  267. will not be able to answer the question "What does John do?". This is 
  268. because Saturn has been programmed to respond to a question about what 
  269. something "does" by looking for a) The subject in question, here John and 
  270. b) an action word in the text about that subject. 
  271.  
  272. Similarly, if we omit the relationship about Peter and John, and then ask 
  273. Saturn "Who likes John", Saturn will not be able to answer accurately, and 
  274. so will reply "John likes Mary." This is a quite acceptable confusion. 
  275. Consider how you respond to questions you are unsure about. You make a 
  276. guess. Saturn does the same. Experimenting in this way is called 
  277. "investigating natural language" and is an important area of AI research 
  278. in which Saturn can help with research and education into the psychology 
  279. of thought processes and language. 
  280. 9
  281.                               STARTING SATURN
  282.  
  283.  
  284.  
  285. Saturn is started-up by entering the command SATURN from the DOS prompt. 
  286. You can also specify the name of the knowledge base to load. If you don't 
  287. specify the name of a knowledge base Saturn will assume GENERAL.KNB, the 
  288. general knowledge base. 
  289.  
  290. For example. To Start Saturn with the general knowledge base, you would do 
  291. the following; 
  292.  
  293. Firstly, make sure that DOS is set to the directory holding both Saturn 
  294. and the general knowledge base. Then enter the command SATURN. 
  295.  
  296. For example. To Start Saturn with a knowledge base called "FAMILY", you 
  297. would do the following; 
  298.  
  299. If the family knowledge base is in the same directory as Saturn, then make 
  300. sure that DOS is set to the directory holding Saturn and the knowledge 
  301. base and enter the command SATURN FAMILY. If, however, the knowledge base 
  302. is in a different directory, perhaps C:\DATA\FAMILY, then you would make 
  303. sure that DOS is set to the directory holding Saturn and enter the command 
  304. SATURN C:\DATA\FAMILY\FAMILY. 
  305.  
  306. Upon starting, Saturn enters a mode called "The Saturn Interface". This is 
  307. a cosmetic environment providing a convenient mechanism for selecting the 
  308. main Saturn facilities. 
  309.  
  310. 10
  311.                                 SECTION ONE
  312.  
  313.                            THE SATURN INTERFACE
  314.  
  315.  
  316. When you start-up Saturn from the DOS command prompt, you are presented 
  317. with the "Saturn Interface". This is a cosmetic front-end menu providing 
  318. access to facilities for editing, appending and querying data. 
  319.  
  320. At the bottom of the Saturn Interface screen is displayed a menu of 
  321. available facilities. You should move the highlight bar with the cursor 
  322. arrow keys to the facility you require, and then press ENTER to select 
  323. that facility. 
  324.  
  325.  
  326.  
  327.  
  328. .R:P
  329.                                 ┌──────┐
  330.                                 │SATURN│
  331.                                 └──┬───┘
  332.                                    │
  333.             ┌──────────────────────┼────────────────────────┐
  334.             │                      │                        │
  335.          ┌──┴───┐              ┌───┴────┐              ┌────┴────┐
  336.          │EDITOR│              │APPENDER│              │RETRIEVER│
  337.          └──────┘              └────────┘              └─────────┘
  338.  
  339.                               Saturn Modules
  340.  
  341.  
  342. .R:Q
  343.  
  344. 11
  345. The following diagram explains the different areas of the Saturn Interface 
  346. display. 
  347.  
  348.  
  349.  
  350. .R:P
  351.  
  352.  
  353.            ┌ Title Area
  354.            │
  355. ┌──────────────────────────────────────────────────────────────────────────────┐
  356. │Servile Software                  Saturn  V5.0                         (c)1996│
  357. └──────────────────────────────────────────────────────────────────────────────┘
  358. ┌──────────────────────────────────────────────────────────────────────────────┐
  359. │                                                                              │
  360. │                                                                              │
  361. │                                                                              │
  362. │                                                                              │
  363. │                                                                              │
  364. │                                                                              │
  365. │                                                                              │
  366. │                              Display Area                                    │
  367. │                                                                              │
  368. │                                                                              │
  369. │                                                                              │
  370. │                                                                              │
  371. │                                                                              │
  372. │                                                                              │
  373. │                                                                              │
  374. └──────────────────────────────────────────────────────────────────────────────┘
  375. ┌──────────────────────────────────────────────────────────────────────────────┐
  376. │                                                                              │
  377. │ Seek       File       Edit        Append        Query        Font       Exit │
  378. │                                                                              │
  379. └──────────────────────────────────────────────────────────────────────────────┘
  380.            │
  381.            └ Menu of facilities
  382.           
  383.                              The Saturn Interface
  384.  
  385. 12
  386. .R:Q
  387.  
  388. SEEK:
  389.  
  390. The Seek facility is used to search through ALL knowledge bases in the 
  391. current directory for a specified data item. Saturn will prompt you to 
  392. enter the title of the data item to find. A search is then made of every 
  393. knowledge base until that data item is located. Whereupon the Query module 
  394. is automatically loaded and the details of the data item are displayed as 
  395. though a "Show" command had been issued directly to the query module.
  396.  
  397. This enables chapters of data to be built up in separate knowledge bases, 
  398. thereby bypassing Saturn's 10000 item limit per knowledge base, and yet 
  399. still quickly and easily locate specific data.
  400.  
  401. 13
  402. FILE:
  403.  
  404. The File facility allows the name of a different knowledge base to be 
  405. selected. This knowledge base will be loaded into memory by Saturn when 
  406. you select the "Query" facility. The Saturn interface provides you with a 
  407. window containing the names of the knowledge bases recorded in the current 
  408. disk directory. There may be additional entries past the bottom of the 
  409. window. These can be reached by pressing the cursor down arrow when the 
  410. last entry in the window is highlighted. To select a knowledge base for 
  411. the other facilities, highlight its name and press ENTER. If you want to 
  412. create a new knowledge base, select the <NEW> entry. You will then be 
  413. prompted to enter the name of the knowledge base to be created. This 
  414. knowledge base may then be created with either the "Edit" or "Append" 
  415. facility. 
  416.  
  417. .R:P
  418.  
  419. ┌──────────────────────────────────────────────────────────────────────────────┐
  420. │Servile Software                  Saturn  V5.0                         (c)1996│
  421. └──────────────────────────────────────────────────────────────────────────────┘
  422. ┌──────────────────────────────────────────────────────────────────────────────┐
  423. │                               ┌──────────────┐                               │
  424. │                               │ dating.knb   │                               │
  425. │                               │ general.knb  │                               │
  426. │                               │ movies.knb   │                               │
  427. │                               │ myths.knb    │                               │
  428. │                               │ people.knb   │                               │
  429. │                               │ places.knb   │                               │
  430. │                               │ shake.knb    │                               │
  431. │                               │ video.knb    │                               │
  432. │                               │ virus.knb    │                               │
  433. │                               │ weapons.knb  │                               │
  434. │                               │ zoology.knb  │                               │
  435. │                               │ <NEW>        │                               │
  436. │                               └──────────────┘                               │
  437. └──────────────────────────────────────────────────────────────────────────────┘
  438. ┌──────────────────────────────────────────────────────────────────────────────┐
  439. │                                     File                                     │
  440. │Highlight the name of the required knowledge base and press ENTER.            │
  441. │Select <NEW> to create a new knowledge base.                                  │
  442. │Press Esc to return to the menu without selecting a different knowledge base. │
  443. └──────────────────────────────────────────────────────────────────────────────┘
  444.              Selecting a knowledge base with the Saturn Interface
  445. .R:Q
  446.  
  447. 14
  448. APPEND:
  449.  
  450. The Append facility allows an existing knowledge base to be appended to 
  451. the end of the currently selected knowledge base. The Saturn Interface 
  452. requires you to enter the name of the knowledge base that contains the 
  453. entries to append to the current knowledge base. 
  454.  
  455.  
  456.  
  457. .R:P
  458. ┌──────────────────────────────────────────────────────────────────────────────┐
  459. │Servile Software                  Saturn  V5.0                         (c)1996│
  460. └──────────────────────────────────────────────────────────────────────────────┘
  461. ┌──────────────────────────────────────────────────────────────────────────────┐
  462. │                                                                              │
  463. │                                                                              │
  464. │                                                                              │
  465. │                                                                              │
  466. │                                                                              │
  467. │                                                                              │
  468. │                                                                              │
  469. │                                                                              │
  470. │                                                                              │
  471. │                                                                              │
  472. │                                                                              │
  473. │                                                                              │
  474. │                                                                              │
  475. │                                                                              │
  476. └──────────────────────────────────────────────────────────────────────────────┘
  477. ┌──────────────────────────────────────────────────────────────────────────────┐
  478. │                                    Append                                    │
  479. │Enter the name of the knowledge base to append, or press Esc to abort entry   │
  480. │                                                                              │
  481. │Name:                                                                         │
  482. └──────────────────────────────────────────────────────────────────────────────┘
  483.             Preparing to append a knowledge base to the current one
  484. .R:Q
  485.  
  486. 15
  487. QUERY:
  488.  
  489. The Query facility passes control through to the Saturn "thinking" 
  490. retrieval system. This facility is described in detail else where. 
  491.  
  492.  
  493. FONT:
  494.  
  495. The Font facility enables users with an EGA, VGA or SVGA monitor to select 
  496. a different typeface for displayed text. The choice of font is purely 
  497. cosmetic, it does not affect printed output, and is intended to make the 
  498. use of Saturn as comfortable as possible. 
  499.  
  500. The supplied fonts all include their "height" in their name. The standard 
  501. EGA font has a height of 14. Selecting a font with a smaller height 
  502. enables more lines of text to be displayed. The computer's hardware will 
  503. not display fonts that are bigger than the maximum height supported. 
  504. VGA/SVGA monitors have a standard font height of 16. If your computer is 
  505. equipped with a CGA monitor, selecting different fonts will not have any 
  506. effect. 
  507.  
  508.  
  509. .R:P
  510. ┌──────────────────────────────────────────────────────────────────────────────┐
  511. │Servile Software                  Saturn  V5.0                         (c)1996│
  512. └──────────────────────────────────────────────────────────────────────────────┘
  513. ┌──────────────────────────────────────────────────────────────────────────────┐
  514. │                                                                              │
  515. │                               ┌──────────────┐                               │
  516. │                               │ blob14.fnt   │                               │
  517. │                               │ blob16.fnt   │                               │
  518. │                               │ bway14.fnt   │                               │
  519. │                               │ bway16.fnt   │                               │
  520. │                               │ easy16.fnt   │                               │
  521. │                               │ human16.fnt  │                               │
  522. │                               │ newyk16.fnt  │                               │
  523. │                               │ print14.fnt  │                               │
  524. │                               │ print16.fnt  │                               │
  525. │                               │ script14.fnt │                               │
  526. │                               │|script16.fnt │                               │
  527. │                               └──────────────┘                               │
  528. │                                                                              │
  529. └──────────────────────────────────────────────────────────────────────────────┘
  530. ┌──────────────────────────────────────────────────────────────────────────────┐
  531. │Highlight the name of the required character font and press ENTER.            │
  532. │                                                                              │
  533. │Press Esc to return to the menu without selecting a different font.           │
  534. └──────────────────────────────────────────────────────────────────────────────┘
  535.                           Selecting a different Font
  536. .R:Q
  537.  
  538.  
  539. 16
  540. EXIT:
  541.  
  542. The Exit facility stops the Saturn Interface and returns control to the 
  543. DOS. You can also select this facility by pressing Esc. 
  544. 17
  545.                                 SECTION TWO
  546.  
  547.                              RETRIEVAL SYSTEM
  548.  
  549.  
  550. The retrieval system is the main area of Saturn. This is where questions 
  551. can be put to Saturn, and data retrieved from the computer's memory. The 
  552. screen display is divided into three sectors: Title box, display box and 
  553. menu box. 
  554.  
  555. Menu options are displayed in the bottom box. Each option may be 
  556. highlighted in turn by pressing the cursor left and right arrow keys. The 
  557. highlighted option may be selected by pressing the Enter key. 
  558.  
  559.  
  560.  
  561. .R:P
  562. ┌─────────────────────────────────────────────────────────────────────────────┐
  563. │Servile Software                 Saturn  V5.0                         (c)1996│
  564. └─────────────────────────────────────────────────────────────────────────────┘
  565. ┌─────────────────────────────────────────────────────────────────────────────┐
  566. │Loading knowledge base "general.knb"                                         │
  567. │Encoding knowledge base                                                      │
  568. │                                                                             │
  569. │                                                                             │
  570. │                                                                             │
  571. │                                                                             │
  572. │                                                                             │
  573. │                                                                             │
  574. │                                                                             │
  575. │                                                                             │
  576. │                                                                             │
  577. │                                                                             │
  578. │                                                                             │
  579. │                                                                             │
  580. └─────────────────────────────────────────────────────────────────────────────┘
  581. ┌─────────────────────────────────────────────────────────────────────────────┐
  582. │ Show      Print        Show list           Show details          Print list │
  583. │                                                                             │
  584. │ Print details       Load        Browse     Query     Locate    Sub     Quit │
  585. │                                                                             │
  586. └─────────────────────────────────────────────────────────────────────────────┘
  587.                          Saturn Retrieval System Menu
  588.  
  589. .R:Q
  590.  
  591. 18
  592. SHOW:
  593.  
  594. The Show facility may be selected to review data about any single subject. 
  595. Saturn will request that you enter the title of the subject you wish to 
  596. review, and will then display the data stored about this subject in the 
  597. display box. In the menu box may be displayed a scrolling list of 
  598. associated topics. 
  599.  
  600. The associated topics menu may be too large to display all at once in the 
  601. menu box. If there are more entries past the last one displayed, a 
  602. downward pointing arrow will be displayed to the left of the last entry. 
  603. Similarly, if there are more topics before the first one displayed an 
  604. upward pointing arrow will be displayed to the left of the first displayed 
  605. topic. You may move the highlight bar with the cursor up and down arrow 
  606. keys, the page up and page down keys provide quick up and down movement, 
  607. and the home and end keys highlight the first and last topics 
  608. respectively. To display the details stored about the highlighted topic 
  609. press the Enter key. To return to the main Saturn menu press the Esc key. 
  610.  
  611.  
  612.  
  613. .R:P
  614. ┌─────────────────────────────────────────────────────────────────────────────┐
  615. │Servile Software                 Saturn  V5.0                         (c)1996│
  616. └─────────────────────────────────────────────────────────────────────────────┘
  617. ┌─────────────────────────────────────────────────────────────────────────────┐
  618. │Loading knowledge base "general.knb"                                         │
  619. │Encoding knowledge base                                                      │
  620. │                                                                             │
  621. │                                                                             │
  622. │                                                                             │
  623. │                                                                             │
  624. │                                                                             │
  625. │                                                                             │
  626. │                                                                             │
  627. │                                                                             │
  628. │                                                                             │
  629. │                                                                             │
  630. │                                                                             │
  631. │                                                                             │
  632. └─────────────────────────────────────────────────────────────────────────────┘
  633. ┌─────────────────────────────────────────────────────────────────────────────┐
  634. │Subject?                                                                     │
  635. │>                                                                            │
  636. │                                                                             │
  637. │                                                                             │
  638. └─────────────────────────────────────────────────────────────────────────────┘
  639. .R:Q
  640.  
  641.                        Requesting A Subject To Show 
  642.  
  643. 19
  644.  
  645. The following screen shot shows the result of a Saturn 'show' instruction 
  646. and the subsequnt entry of the subject title "frog". This example was 
  647. created with the default "general" knowledge base. 
  648.  
  649.  
  650. .R:P
  651. ┌─────────────────────────────────────────────────────────────────────────────┐
  652. │Servile Software                 Saturn  V5.0                         (c)1996│
  653. └─────────────────────────────────────────────────────────────────────────────┘
  654. ┌─────────────────────────────────────────────────────────────────────────────┐
  655. │A Frog is an amphibian of the order anura.                                   │
  656. │                                                                             │
  657. │                                                                             │
  658. │                                                                             │
  659. │                                                                             │
  660. │                                                                             │
  661. │                                                                             │
  662. │                                                                             │
  663. │                                                                             │
  664. │                                                                             │
  665. │                                                                             │
  666. │                                                                             │
  667. │                                                                             │
  668. │                                                                             │
  669. └─────────────────────────────────────────────────────────────────────────────┘
  670. ┌─────────────────────────────────────────────────────────────────────────────┐
  671. │Associated         Amphibian                                                 │
  672. │Topics             Animal                                                    │
  673. │                   Water                                                     │
  674. │                 | Oxide                                                     │
  675. └─────────────────────────────────────────────────────────────────────────────┘
  676.                     Associated Topics Menu With More Below
  677.  
  678.  
  679.  
  680. .R:Q
  681. 20
  682.  
  683.  
  684. .R:P
  685. ┌─────────────────────────────────────────────────────────────────────────────┐
  686. │Servile Software                 Saturn  V5.0                         (c)1996│
  687. └─────────────────────────────────────────────────────────────────────────────┘
  688. ┌─────────────────────────────────────────────────────────────────────────────┐
  689. │A frog is an amphibian of the order anura.                                   │
  690. │                                                                             │
  691. │                                                                             │
  692. │                                                                             │
  693. │                                                                             │
  694. │                                                                             │
  695. │                                                                             │
  696. │                                                                             │
  697. │                                                                             │
  698. │                                                                             │
  699. │                                                                             │
  700. │                                                                             │
  701. │                                                                             │
  702. │                                                                             │
  703. └─────────────────────────────────────────────────────────────────────────────┘
  704. ┌─────────────────────────────────────────────────────────────────────────────┐
  705. │Associated       | Oxide                                                     │
  706. │Topics             Compound                                                  │
  707. │                   Oxygen                                                    │
  708. │                 | Element                                                   │
  709. └─────────────────────────────────────────────────────────────────────────────┘
  710.                Associated Topics Menu With More Above And Below 
  711.  
  712. .R:Q
  713.  
  714. 21
  715. PRINT:
  716.  
  717. The Print facility is similar to the "Show" facility, but sends all data 
  718. recorded about the subjects applicable to the entered subject title to the 
  719. printer. Again Saturn requires you to type in the subject to be retrieved. 
  720. All data items related to the entered subject are then sent to the 
  721. printer. 
  722.  
  723.  
  724. SHOW LIST:
  725.  
  726. The Show List facility requests Saturn to display a list of all recorded 
  727. data subjects meeting a specified criteria. The selection criteria may be 
  728. left blank to list everything, or it may be entered to restrict the list. 
  729. For example, you may wish to list the subject headings for every animal 
  730. recorded in the current knowledge base. To do this select the "Show List" 
  731. facility and enter the selection criteria "animals". The ambiguity of the 
  732. English language provides a problem for Saturn. If the selection criteria 
  733. is too general then loosly related items will be selected. If this is a 
  734. problem try tightening up the selection criteria. For example replace the 
  735. selection criteria "animals" with "mammals" or "reptiles" or "mammals and 
  736. reptiles and birds". Try to be as specific as possible. 
  737.  
  738.  
  739. SHOW DETAILS:
  740.  
  741. The Show Details facility requests Saturn to display all recorded data 
  742. about subjects meeting a specified criteria. The selection criteria may be 
  743. left blank to display everything, or it may be entered to restrict the 
  744. display. For example, you may wish to review the data recorded for all 
  745. composers recorded in the current knowledge base. To do this select the 
  746. 'Show Details' facility and enter the selection criteria 'composers'. 
  747.  
  748.  
  749.  
  750.  
  751. PRINT LIST:
  752.  
  753. The Print List facility requests Saturn to print a list of all recorded 
  754. data subjects meeting a specified criteria. The selection criteria may be 
  755. left blank to list everything, or it may be entered to restrict the list. 
  756. For example, you may wish to list the subject headings for every animal 
  757. recorded in the current knowledge base. To do this select the "Print List" 
  758. facility and enter the selection criteria "animals". 
  759.  
  760.  
  761. 22
  762. PRINT DETAILS:
  763.  
  764. The Print Details facility requests Saturn to print all recorded data 
  765. about subjects meeting a specified criteria. The selection criteria may be 
  766. left blank to print everything, or it may be entered to restrict the 
  767. display. For example, you may wish to print the data recorded for all 
  768. composers recorded in the current knowledge base. To do this select the 
  769. "Print Details" facility and enter the selection criteria "composers". 
  770.  
  771.  
  772. LOAD:
  773.  
  774. The Load facility requests Saturn to load a knowledge base from disk 
  775. replacing the current knowledge base. Saturn will ask you for the name of 
  776. the knowledge base to load. If you don't supply a name, the current 
  777. knowledge base will be reloaded. 
  778.  
  779.  
  780. BROWSE:
  781.  
  782. The Browse facility displays a scrolling list of all the subject headings 
  783. recorded in the current knowledge base in the display box. 
  784.  
  785. The browse menu may be too large to display all at once in the display 
  786. box. If there are more entries past the last one displayed, a downward 
  787. pointing arrow will be displayed to the left of the last entry. Similarly, 
  788. if there are more topics before the first one displayed an upward pointing 
  789. arrow will be displayed to the left of the first displayed topic. You may 
  790. move the highlight bar with the cursor up and down arrow keys, the page up 
  791. and page down keys provide quick up and down movement, and the home and 
  792. end keys highlight the first and last subjects respectively. 
  793.  
  794. Typing at the keyboard will move the highlight bar to the first entry 
  795. matching the characters typed. For example, to move quickly to the entry 
  796. TURKEY type T the highlight bar moves to the first entry starting with T. 
  797. Type U the highlight bar moves to the first entry starting TU. If no entry 
  798. does starts with the characters typed the highlight bar will remain 
  799. static. Any new characters typed at the keyboard will recommence the quick 
  800. search starting with the next character typed. 
  801.  
  802. To display the details stored about the highlighted subject press the 
  803. Enter key. To return to the main Saturn menu press the Esc key. 
  804.  
  805. 23
  806. When a subject is selected with the "Browse" facility it is displayed as 
  807. though it had been selected with the "Show" facility. A list of associated 
  808. topics is displayed in the menu box. The following screen dump illustrates 
  809. a "browse" of the general knowledge base supplied with Saturn. The arrows 
  810. to the left of the list at the top and bottom show that there are more 
  811. subject titles above and below. 
  812.  
  813.  
  814.  
  815.  
  816. .R:P
  817. ┌─────────────────────────────────────────────────────────────────────────────┐
  818. │Servile Software                 Saturn  V5.0                         (c)1996│
  819. └─────────────────────────────────────────────────────────────────────────────┘
  820. ┌─────────────────────────────────────────────────────────────────────────────┐
  821. │                 | SE5                                                       │
  822. │                   SEA DART                                                  │
  823. │                   SEA GOOSEBERRY                                            │
  824. │                   SEA KILLER                                                │
  825. │                   SEA SPARROW                                               │
  826. │                   SEA WOLF                                                  │
  827. │                   SEACAT                                                    │
  828. │                   SEAL                                                      │
  829. │                   SEASPRITE                                                 │
  830. │                   SEA_URCHIN                                                │
  831. │                   SEA_URCHINS                                               │
  832. │                   SECRETIN                                                  │
  833. │                   SEDGEMOOR                                                 │
  834. │                 | SEDGWICK                                                  │
  835. └─────────────────────────────────────────────────────────────────────────────┘
  836. ┌─────────────────────────────────────────────────────────────────────────────┐
  837. │ Show      Print        Show list           Show details          Print list │
  838. │                                                                             │
  839. │ Print details       Load        Browse     Query     Locate    Sub     Quit │
  840. │                                                                             │
  841. └─────────────────────────────────────────────────────────────────────────────┘
  842.                                  A browse Menu
  843.  
  844. .R:Q
  845.  
  846. 24
  847. QUERY:
  848.  
  849. The Query facility allows entry of ANY Saturn command direct into Saturn. 
  850. Saturn can understand questions and instructions. Typical questions that 
  851. Saturn can understand are: 
  852.  
  853. IS A HORSE AN ANIMAL?
  854. WHERE WAS SHAKESPEAR BORN?
  855. WHEN DID SHAKESPEAR DIE?
  856. WHAT IS A TREE?
  857. WHAT DOES THE HEART DO?
  858. WHAT DO CATS EAT?
  859. DO CATS EAT MICE?
  860. WHAT DOES ACID REACT WITH?
  861. WHAT IS THE CAPITAL OF ENGLAND?
  862. WHERE IS BOMBAY?
  863. WHICH COUNTRY IS DUBLIN IN?
  864. WHO WAS SHAKESPEAR?
  865. DO CATS EAT VEGETABLES?
  866. DOES ACID REACT WITH PAPER?
  867. WHO FOUNDED SCHOLASTIC THEOLOGY?
  868. IS LONDON THE CAPITAL OF ENGLAND?
  869. DOES JOHN SMITH SMOKE?
  870.  
  871. Instructions may be entered manually through a query, but are more 
  872. conveniently selected from the menu facilities. Anyway, Saturn can 
  873. understand instructions such as: 
  874.  
  875. List all men
  876. Detail all men who smoke 
  877. Print details of all men who smoke
  878.  
  879. 25
  880. Questions and instructions, collectively known as "queries", may be upto 
  881. one text line in length. The following screen dump shows a question being 
  882. typed in. 
  883.  
  884.  
  885. .R:P
  886. ┌─────────────────────────────────────────────────────────────────────────────┐
  887. │Servile Software                 Saturn  V5.0                         (c)1996│
  888. └─────────────────────────────────────────────────────────────────────────────┘
  889. ┌─────────────────────────────────────────────────────────────────────────────┐
  890. │                                                                             │
  891. │                                                                             │
  892. │                                                                             │
  893. │                                                                             │
  894. │                                                                             │
  895. │                                                                             │
  896. │                                                                             │
  897. │                                                                             │
  898. │                                                                             │
  899. │                                                                             │
  900. │                                                                             │
  901. │                                                                             │
  902. │                                                                             │
  903. │                                                                             │
  904. └─────────────────────────────────────────────────────────────────────────────┘
  905. ┌─────────────────────────────────────────────────────────────────────────────┐
  906. │Enter query                                                                  │
  907. │>Where is London?                                                            │
  908. │                                                                             │
  909. │                                                                             │
  910. └─────────────────────────────────────────────────────────────────────────────┘
  911.                                Entering A Query
  912.  
  913. .R:Q
  914. 26
  915. LOCATE:
  916.  
  917. The Locate facility equates to a "Where is....?" question. Saturn requests 
  918. that you enter a subject, and then displays the data about that subject's 
  919. location. Saturn locates subjects by searching for key words that describe 
  920. position; CAPITAL OF, NORTH, SOUTH, EAST, WEST, BETWEEN, SEPARATING, 
  921. BETWEEN and ON. Given a data item; "LONDON IS THE CAPITAL OF ENGLAND", 
  922. Saturn will give the location of LONDON as "IN ENGLAND". Similarly, given 
  923. the data item; "GHOSTBUSTERS IS ON TAPE 6 AT COUNTER 1340", Saturn will 
  924. give the location of "GHOSTBUSTERS" as "ON TAPE 6 AT COUNTER 1340". 
  925.  
  926.  
  927. SUB:
  928.  
  929. The Sub facility creates an extract knowledge base containing only entries 
  930. from the current knowledge base that meet specified criteria. After 
  931. creation, this knowledge base is loaded and replaces the current knowledge 
  932. base. Saturn informs you how many entries are present in the extract 
  933. knowledge base. 
  934.  
  935. This facility is intended for use where you wish to access quickly and 
  936. easily only a part of an existing knowledge base. For example, with the 
  937. dating agency example you may wish to create a "Sub" of "men" so that you 
  938. can quickly browse just the male entries. Or if you have catalogued your 
  939. video collection you may want a sub knowledge base of comedies. 
  940.  
  941.  
  942. QUIT:
  943.  
  944. The Quit facility ends the retrieval system and passes control back to the 
  945. Saturn Interface. 
  946.  
  947. 27
  948.                                SECTION THREE
  949.  
  950.                             PROGRAMMING SATURN                           
  951.  
  952.  
  953.  
  954. CREATING KNOWLEDGE TREES:
  955.  
  956. Saturn is modelled upon the memory system of the human brain. Just like 
  957. the human brain Saturn makes use of sets of data, "Knowledge Trees", to 
  958. enhance the speed and reliability of data retrieval. If you are still 
  959. unclear about the idea of knowledge trees, consider your knowledge of 
  960. animals. You know that all mammals are animals. And so, taught that an 
  961. item, "xyz" is a "mammal" you automatically store that information away 
  962. with a tag identifying the item "xyz" with the set "animal".  You know 
  963. that all scientists are people, and so told that "abc" is a scientist, you 
  964. can instantly deduce that "abc" is a person. Your knowledge of data sets 
  965. was probably learnt so long ago that you forget learning them, or else the 
  966. learning was so subtle as to be unnoticeable. 
  967.  
  968. Saturn requires knowledge trees to be declared by statements of the 
  969. format; 
  970.  
  971. /ALL subject ARE set name
  972.  
  973. For example;
  974.  
  975. /ALL MAMMALS ARE ANIMALS 
  976.  
  977. Declares a data set "ANIMALS" and assigns a member, "MAMMALS" to it. A 
  978. subsequent declaration; 
  979.  
  980. /ALL FISH ARE ANIMALS
  981.  
  982. Appends the member "FISH" to the existing data set for "ANIMALS". 
  983.  
  984. These declarations can be added to a knowledge base with any text editor 
  985. or word processor. There is no need to make duplicate sets for plural and 
  986. singular forms of words, Saturn can deduce the singular from the plural. 
  987.  
  988. 28
  989. The main use of knowledge trees is for preventing erroneous deductions. 
  990. Saturn will attempt to deduce facts when ever possible. However, just like 
  991. a child, Saturn can make errors if it has not been taught enough. For 
  992. example: 
  993.  
  994. Given that;
  995.  
  996. "An adder is a snake"
  997. "A snake is a reptile"
  998. "A reptile is an animal"
  999.  
  1000. Saturn can deduce that an adder is an animal. The following diagram 
  1001. illustrates the links that allow Saturn to nake this deduction. 
  1002.  
  1003.  
  1004.  
  1005.   An adder is a snake     A snake is a reptile     A reptile is an animal
  1006.                   │           │          │             │             
  1007.                   └────>──────┘          └──────>──────┘             
  1008.                                                                        
  1009.  
  1010.                      Links Between Separate Data Items
  1011.  
  1012.  
  1013.  
  1014. However, given ambiguous data about the word "Turkey", that is that 
  1015. "Turkey is a country. A turkey is a bird" followed by other data relating 
  1016. to Turkey, the country such as: 
  1017.  
  1018. "Ankarra is the capital of Turkey"
  1019.  
  1020. Saturn will erroneously deduce that Ankarra is a bird! It can be taught 
  1021. not to make this deduction by knowledge tree entries that declare capitals 
  1022. as separate from animals, for example: 
  1023.  
  1024. /ALL BIRDS ARE ANIMALS
  1025. /ALL CAPITALS ARE PLACES
  1026.  
  1027. These directives inform Saturn that because Ankarra is a capital it is a 
  1028. place and NOT an animal. When Saturn detects a knowledge tree directive 
  1029. applicable to a subject, it dismisses any connections with other subjects 
  1030. that belong to other branches of the tree. 
  1031.  
  1032. 29
  1033. These knowledge tree definitions are essential for use with generalised 
  1034. knowledge bases where queries of associated data are required. For 
  1035. example. To extract details of all PLACES from the general knowledge base 
  1036. it is essential to specify; 
  1037.  
  1038. /ALL VILLAGES ARE PLACES
  1039. /ALL TOWNS ARE PLACES
  1040. /ALL CITIES ARE PLACES
  1041.  
  1042. And so on. This enables Saturn to realise that given an entry such as; 
  1043.  
  1044. "Woking is a town in Surrey."
  1045.  
  1046. That Woking is therefore a PLACE, because Woking is a town, and ALL TOWNS 
  1047. ARE PLACES. 
  1048.  
  1049. 30
  1050. REPLACEMENTS:
  1051.  
  1052.  
  1053. Replacements are of two types: the first refers to where something comes 
  1054. from or to deduce something about an object and follows the format; 
  1055.  
  1056. +object
  1057. replacement
  1058.  
  1059. For example;
  1060.  
  1061. +ENGLISH
  1062. ENGLAND
  1063.  
  1064. or
  1065.  
  1066. +MEN
  1067. HE
  1068.  
  1069. This first type of replacement allows Saturn to understand phrases such 
  1070. as; 
  1071.  
  1072. A BADGER LIVES IN ENGLAND
  1073.  
  1074. And deduce from it that;
  1075.  
  1076. A BADGER IS ENGLISH
  1077.  
  1078. And to allow selection of data relating to "MEN" based upon references to 
  1079. "HE" within the data. Problems arise when data refers to both "HE" and 
  1080. "SHE" in such cases. For example the following data refernce will confuse 
  1081. Saturn into believing that Queen Alexandra is both a man and a woman! 
  1082.  
  1083. *ALEXANDRA
  1084. QUEEN ALEXANDRA WAS THE DAUGHTER OF CHRISTIAN IX OF DENMARK. MARRIED 
  1085. EDWARD VII IN 1863 WHEN HE WAS THE PRINCE OF WALES. 
  1086.  
  1087. The offending item is the word "HE" which refers to Edward VII. Saturn is 
  1088. not intelligent enough to realise that the word "HE" does not refer to the 
  1089. primary subject, Queen Alexandra. 
  1090.  
  1091. 31
  1092. The second type of replacement forces Saturn to read the data associated 
  1093. with another entry. This follows the format; 
  1094.  
  1095. *object
  1096. #other object
  1097.  
  1098. For example;
  1099.  
  1100. *CATS
  1101. #CAT
  1102.  
  1103. or
  1104.  
  1105. *CARNIVORE
  1106. #CARNIVOROUS
  1107.  
  1108. Any references to "CARNIVORE" will be redirected to the entry for 
  1109. "CARNIVOROUS". This is helpful with redirecting references where Saturn is 
  1110. unable to decide the plural of the word  from its singular form, or where 
  1111. different words refer to a single data reference. ACTION WORDS: 
  1112. 32
  1113.  
  1114. Action words (verbs) are declared to Saturn by a "@" prefix in the 
  1115. knowledge base. Saturn uses action words to select answers to questions 
  1116. such as "what does a thing do?" For example, to tell Saturn that the word 
  1117. "REACT" is an action, put the line; 
  1118.  
  1119. @REACT
  1120.  
  1121. In the knowledge base. Saturn automatically adds suffixes, "ING", and "S" 
  1122. to actions when trying to deduce actions. So there is no need for separate 
  1123. entries for "REACTS" and "REACTING". 
  1124.  
  1125. Consider the example of an acrobat. An acrobat is someone who performs 
  1126. daring gymnastics. This information can be presented to Saturn with an 
  1127. entry in a knowledge base thus: 
  1128.  
  1129. *Acrobat
  1130. An acrobat is someone who performs daring gymnastics.
  1131.  
  1132. So that Saturn can answer questions along the lines of "what does an 
  1133. acrobat do?" it is essential to inform Saturn that "performs" is an action 
  1134. word. This is done by including an action directive in the knowledge base 
  1135. thus: 
  1136.  
  1137. @PERFORM
  1138.  
  1139. Remember that Saturn will automatically compare different forms of words, 
  1140. so the single entry "perform" will satisfy occurences of the words 
  1141. "perform", "performs", "performing" and "performed". 
  1142.  
  1143. 33
  1144. MEASUREMENTS: 
  1145.  
  1146. Measurements and comparisons of measurements are used everyday by people. 
  1147. We have no problem with the idea of "size". For example, I was contacted 
  1148. by a user of Saturn version 2.2 who wanted to use Saturn to run a dating 
  1149. agency. He wanted to be able to extract names based on people who weighed 
  1150. between values, and were over or under certain heights. That is, "give me 
  1151. a list of all Greek men who weigh more than 9 stone and weigh less than 12 
  1152. stone, and are between 5ft 6" and 6ft tall". Although you and I, as humans 
  1153. can readily understand and indeed extract from a file of details people 
  1154. matching these requirements, the process we use to do so is very esoteric. 
  1155.  
  1156. The psychology of size comparison is a complex area which we take for 
  1157. granted. If I say that I have a brother who is 5ft 4" tall, and that I am 
  1158. 5ft 8" tall. And I then ask you which of us is tallest, you will have no 
  1159. problem in deciding that I am taller. How do we make these decisions? If 
  1160. we break the data down we might realise. The data states that "brother" is 
  1161. "5ft 4" tall" and that "I" am "5ft 6" tall". Previous data has established 
  1162. within our mind that the term "taller" requires us to compare the size of 
  1163. the known items and accept only the larger. In this case the data item 
  1164. "I". 
  1165.  
  1166. The addition of superflous data, such as weight will not confuse the human 
  1167. mind. If the data statement is changed to: 
  1168.  
  1169. "My brother is 5ft 4" tall and weighs 8 stone and has size 7 feet. I am 
  1170. 5ft 8" tall and weigh 9 stone and have size 9 feet" 
  1171.  
  1172. We can still easily decide "which is taller" by scanning the data for 
  1173. units of measurement applicable to the term "taller". If we ask the 
  1174. question, "which is larger?" we will get different answers from different 
  1175. people. Some people will equate "larger" with weight, and some with 
  1176. "height" and some with both. Some very bright people may ask us to qualify 
  1177. our question. The term "larger" is a general term relating to a comparison 
  1178. of size, but which unit of size? 
  1179.  
  1180. I hope I am not boring you with this discussion of measurement, but I wish 
  1181. to point out that comparisons of measurement is a non-exact science. It is 
  1182. highly error prone and as such does not naturally lend itself to being 
  1183. handled by a computer program. This is why Saturn has not previously 
  1184. attempted to understand size, and why for the forseable future Saturn's 
  1185. handling of size will be limited almost to the extent of idiotic. 
  1186.  
  1187. 34
  1188. With version 2.4 Saturn introduced three size comparison qualifiers. 
  1189. "OVER", "UNDER" and "BETWEEN". These require a value followed by a unit. 
  1190. For example; 
  1191.  
  1192. "OVER 9 STONE"     "UNDER 6 FEET"     "BETWEEN 5 AND 6 FEET"   
  1193.  
  1194. "BETWEEN 30 AND 40 YEARS" 
  1195.  
  1196. The BETWEEN qualifier MUST follow the illustrated form:
  1197.  
  1198.                     BETWEEN <value> AND <value> <unit>
  1199.  
  1200.  
  1201. There are several restrictions on the use of these three qualifiers. 
  1202. Saturn cannot understand phrases such as: 
  1203.  
  1204. "list all men over 20 years and under 30 years"
  1205.  
  1206. What will happen is that Saturn will decipher this to mean:
  1207.  
  1208. "list all men over 20 years and then list all men under 30 years"
  1209.  
  1210. Instead you should say:
  1211.  
  1212. "list all men between 20 and 30 years" 
  1213.  
  1214.  
  1215. 35
  1216. SPECIAL CHARACTERS:
  1217.  
  1218.  
  1219. Special characters in the data about an object are "|" and "_". When 
  1220. Saturn encounters a "|" symbol in the data it is displaying it immediately 
  1221. displays the following data on a new line. The "_" symbol is never 
  1222. displayed but joins words together to inhibit and force cross referencing 
  1223. to occur. 
  1224.  
  1225. Consider entries in the knowledge base for "King John" and "King". 
  1226. Everytime that Saturn encounters the data about "King John" it will detect 
  1227. the words "King John" and make a connection with the entry "King". This 
  1228. can be inhibited by refering to "King_John" instead. Saturn will then not 
  1229. search for separate entries of "King" and "John", but for one combined 
  1230. entry "King John". 
  1231.  
  1232. Another example may concern architecture. Imagine we have entries with the 
  1233. titles: "Brick", "Wall", "Great Wall Of China", "Asia" and "Europe". The 
  1234. entry that interests us is the one for "Asia". This says: 
  1235.  
  1236. *Asia
  1237. The Great Wall Of China is an impressive piece of architecture in Asia. 
  1238.  
  1239. Obviously we want Saturn, when it encounters this data to make a link with 
  1240. the entry "Great Wall Of China". However, as it stands Saturn will not 
  1241. since the words "Great", "Wall" and "China" are separate. Saturn is not 
  1242. clever enough to realise that they refer to a single article. We can force 
  1243. a link though, by joining the words togther with the "_" symbol thus: 
  1244.  
  1245. *Asia
  1246. The Great_Wall_Of_China is an impressive piece of architecture in Asia. 
  1247.  
  1248. 36
  1249. COMBATTING AMBIGUITY:
  1250.  
  1251.  
  1252.  
  1253. The problem of ambiguity is well illustrated by the example of the data 
  1254. item "Turkey". Turkey is the name of a country, and the name of a 
  1255. type of bird. Where you have ambiguous item names like this you are 
  1256. advised to create two separate entries in the knowledge base with a 
  1257. qualification added to the item name, for example; 
  1258.  
  1259.                              Turkey (Bird)
  1260.                              Turkey (Country)
  1261.  
  1262. This makes two separate data items as distinct to Saturn as "chalk" and 
  1263. "cheese". 
  1264. 37
  1265.                                SECTION FOUR
  1266.  
  1267.                                EXPLORING NLP
  1268.  
  1269.  
  1270. INTRODUCTION:
  1271.  
  1272. While some were introduced to the idea of talking to computers through 
  1273. Arthur C. Clarke's book "2001", I was weaned on Star Trek. I make no 
  1274. apology for never having finished reading 2001. Nor for never sitting all 
  1275. the way through the film that followed, "2001, A Space Odyssey". The fact 
  1276. is I find them both rather tedious! However, an interesting point comes 
  1277. out. Both readers of 2001 and audiences attending the film made few 
  1278. criticisms of HAL the talking computer. It would appear that most people 
  1279. take the idea of understanding their natural language for granted. In her 
  1280. book "Artificial Intelligence and Natural Man" Margaret Boden is some what 
  1281. scathing of people's naivety in accepting the idea that a computer can 
  1282. understand human language, even with its subtle variations. But in 
  1283. fairness to the public, Margaret, how many people in 1977 had seen a 
  1284. computer? Let alone learnt how to program one. The reason people didn't 
  1285. wonder at HAL's quite extraordinary powers of comprehension was that they 
  1286. did not see anything strange in them. "If I can understand English, and a 
  1287. computer is an electronic brain, then of course it can understand." Might 
  1288. go the reasoning. 
  1289.  
  1290. Later audiences were treated to the idea of confusing computers. This idea 
  1291. was used in Star Trek to defeat several unpleasant computers whose logic 
  1292. had got the better of their human companions, and in Doctor Who where a 
  1293. certain computer (in "the Green Death") was particularly unpleasant. This 
  1294. latter computer was destroyed following being asked a paradoxical 
  1295. question. The public were awakening to the idea that computer's may be 
  1296. bright, but they're not brilliant! 
  1297.  
  1298. Enough of science fiction, what of the reality? The matter is that people 
  1299. are fascinated by the idea of "thinking machines". And what better sort of 
  1300. thinking machine than one that can converse in your own language? During 
  1301. the 1960s much work was undertaken by the psychology and psychiatric 
  1302. professions in modelling neurosis with computer simulations. 
  1303.  
  1304. In 1962 K.M. Colby, a psychoanalyst, attempted to model free association 
  1305. in psychotherapy with a computer system he called a "simulation of a 
  1306. neurotic process". The computer modelled a woman who believes that her 
  1307. father has abandoned her, but cannot consciously accept that she hates 
  1308. him. The computer operator plays the role of the psychotherapist with this 
  1309. system. In his book "Experimental Treatment of Neurotic Computer 
  1310. Programs", K.M. Colby details the following interaction between the 
  1311. computer and the therapist; 
  1312.  
  1313. computer:  FATHER IS INDIFFERENT TO ME.
  1314. 38
  1315.            MOTHER SAYS FATHER ABANDONED US.
  1316.            FATHER PREFERRED SISTER.
  1317.            I AVOID FATHER.
  1318.            SISTER ADMIRED FATHER.
  1319.            I FEEL TENSE NOW.
  1320.  
  1321. therapist: YOU ADMIRE FATHER.
  1322.  
  1323. computer:  NO.
  1324.            I DO NOT ADMIRE FATHER.
  1325.            I ADMIRE AL.
  1326.            MOTHER OUGHT NOT TO ADMIRE AL.
  1327.            MOTHER DETESTS FATHER.
  1328.  
  1329. Colby's hope in developing this computer model was that it would be of use 
  1330. in studying the ways in which belief systems and defensive habits of 
  1331. thought can be modified by particular conceptual interventions by, say, a 
  1332. therapist. I wonder? 
  1333.  
  1334. Another medical type artificial intelligence computer system was called 
  1335. ELIZA. ELIZA was developed by Joseph Weizenbaum to model a psychiatrist. 
  1336. The computer operator may then take the role of a patient and talk with 
  1337. the program. In his book "ELIZA", Weizenbaum details the following 
  1338. interaction between ELIZA and a human operator; 
  1339.  
  1340. operator:  MEN ARE ALL ALIKE
  1341.  
  1342. eliza:     IN WHAT WAY
  1343.  
  1344. operator   THEY'RE ALWAYS BUGGING US ABOUT SOMETHING OR OTHER.
  1345.  
  1346. eliza:     CAN YOU THINK OF A SPECIFIC EXAMPLE
  1347.  
  1348. operator:  WELL, MY BOYFRIEND MADE ME COME HERE.
  1349.  
  1350. eliza:     YOUR BOYFRIEND MADE YOU COME HERE
  1351.  
  1352. operator:  HE SAYS I'M DEPRESSED MUCH OF THE TIME.
  1353.  
  1354. eliza:     I AM SORRY TO HEAR THAT YOU ARE DEPRESSED
  1355.  
  1356. operator:  IT'S TRUE. I AM UNHAPPY.
  1357.  
  1358. eliza:     DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY
  1359.  
  1360. operator:  I NEED SOME HELP, THAT MUCH SEEMS CERTAIN.
  1361.  
  1362. eliza:     WHAT WOULD IT MEAN TO YOU IF YOU GOT SOME HELP
  1363.  
  1364. 39
  1365. operator:  PERHAPS I COULD LEARN TO GET ALONG WITH MY MOTHER.
  1366.  
  1367. eliza:     TELL ME MORE ABOUT YOUR FAMILY
  1368.  
  1369. operator:  MY MOTHER TAKES CARE OF ME.
  1370.  
  1371. eliza:     WHO ELSE IN YOUR FAMILY TAKES CARE OF YOU
  1372.  
  1373. operator:  MY FATHER.
  1374.  
  1375. eliza:     YOUR FATHER
  1376.  
  1377. operator:  YOU ARE LIKE MY FATHER IN SOME WAYS.
  1378.  
  1379. eliza:     WHAT RESEMBLANCE DO YOU SEE
  1380.  
  1381. operator:  YOU ARE NOT VERY AGGRESSIVE BUT I THINK YOU DON'T WANT ME TO 
  1382.            NOTICE THAT.
  1383.  
  1384. eliza:     WHAT MAKES YOU THINK I AM NOT VERY AGGRESSIVE
  1385.  
  1386. operator:  YOU DON'T ARGUE WITH ME.
  1387.  
  1388. eliza:     WHY DO YOU THINK I DON'T ARGUE WITH YOU
  1389.  
  1390. operator:  YOU ARE AFRAID OF ME.
  1391.  
  1392. eliza:     DOES IT PLEASE YOU TO THINK I AM AFRAID OF YOU
  1393.  
  1394. operator:  MY FATHER IS AFRAID OF EVERYBODY.
  1395.  
  1396. eliza:     WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR FATHER
  1397.  
  1398. operator:  BULLIES.
  1399.  
  1400. eliza:     DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR BOYFRIEND 
  1401.            MADE YOU COME HERE
  1402.  
  1403.  
  1404. Exponents of ELIZA point out that it can talk about any subject. Critics 
  1405. may notice that it does not always talk very intelligently! But ELIZA did 
  1406. trick a salesman at the computer company. Not a very difficult task 
  1407. perhaps, but here anyway is a transcript of the conversation that is 
  1408. reported to have taken place by teletype. 
  1409.  
  1410.  
  1411. man:      DO YOU THINK THAT I CAN USE THE COMPUTER THIS MORNING?
  1412.  
  1413. teletype: WHY DO YOU ASK?
  1414.  
  1415. 40
  1416. man:      I MIGHT BE ABLE TO MAKE SOME ADDITIONAL TELCOMP SALES.
  1417.  
  1418. teletype: WHY AREN'T YOU SURE?
  1419.  
  1420. man:      MY PROSPECTIVE CUSTOMERS HAVE NEVER SEEN A DEMONSTRATION OF 
  1421.           THE SYSTEM.
  1422.  
  1423. teletype: DOES THIS MEAN VERY MUCH TO YOU?
  1424.  
  1425. man:      OF COURSE IT DOES.
  1426.  
  1427. teletype: YOU SEEM VERY POSITIVE ABOUT THAT.
  1428.  
  1429. man:      THIS IS RIDICULOUS.
  1430.  
  1431. teletype: WHAT DO YOU MEAN THIS IS RIDICULOUS?
  1432.  
  1433. man:      IS THERE ANY REASON WHY I CAN'T USE THE COMPUTER NOW?
  1434.  
  1435. teletype: TELL ME MORE ABOUT YOUR PROSPECTIVE CUSTOMERS.
  1436.  
  1437. man:      PLEASE DIAL ME UP ON 491-1850.
  1438.  
  1439.  
  1440. From the anger apparent in the salesman's responses, he may not have 
  1441. realised that he was talking to a computer. But he certainly knew that who 
  1442. ever he was talking to was fairly obtuse. 
  1443.  
  1444.  
  1445.  
  1446. NLP AND SATURN:
  1447.  
  1448. Natural Language Processing, "NLP", is a fascinating field in the 
  1449. artificial intelligence farm. NLP is concerned with teaching 
  1450. (programming?) computers to understand the same language as humans speak. 
  1451. There are obvious diversions off into the realms of linguistics, 
  1452. semantics, and psychology. 
  1453.  
  1454. Saturn is an ideal platform for exploring these realms. While Saturn is 
  1455. not so pedantic as a linguist (Saturn cares little for grammar), it still 
  1456. makes decisions based upon the information provided to it. And, perhaps 
  1457. most importantly, almost all of this information is presented in the same 
  1458. manner as it would be to a human. The echoes of the misunderstandings 
  1459. that occur with language among people are to be discovered with Saturn. 
  1460. Perhaps leading to a greater understanding of the nature of language and 
  1461. communication. There are joys and surprises as well as humour to be found 
  1462. when you start exploring NLP with Saturn. While developing and testing 
  1463. Saturn I was rocked to the response to many questions I put to Saturn. One 
  1464. of the funniest was: "What do cows eat?" to which Saturn replied "Flesh". 
  1465. 41
  1466. At first encounter one might dismiss this as simply the program failing, a 
  1467. "bug" as computer personnel like to call them. However, in looking into 
  1468. the problem it became apparent that the mistake, which is what it was, was 
  1469. in fact quite sensible. Saturn had been informed that "carnivores eat 
  1470. flesh", and "a cat is a carnivorous mammal" and "a mammal is an animal". 
  1471. When Saturn was informed "a cow is an animal", it erroneously made a 
  1472. connection between "animal" and "carnivore" leading to the belief that all 
  1473. animals are carnivorous. 
  1474.  
  1475. Exactly what deductions Saturn can and cannot make is unknown. This is an 
  1476. incredible admission for a programmer to make, but I don't know what 
  1477. Saturn will do when presented with differing data. A gentleman by the name 
  1478. of Colin Austin telephoned me and said he was impressed to discover that 
  1479. Saturn correctly deduced that "cats eat mice". I was even more impressed, 
  1480. I didn't know Saturn could make that deduction! But how was it made? 
  1481.  
  1482. The encyclopaedia, general.knb, provides Saturn with information that 
  1483. includes that "cats are carnivorous", "something which is carnivorous eats 
  1484. flesh", "flesh is the meat of animals" and "mice are animals". From this 
  1485. Saturn can deduce the answer to the question "do cats eat mice?" 
  1486.  
  1487. what do cats eat?  -->  flesh
  1488. what is a mouse? --> an animal
  1489. what is flesh? --> the meat of animals
  1490.  
  1491. Notice how a link occurs, the two questions "what do cats eat?" and "what 
  1492. is a mouse?" both lead to a common word, "animal". Therefore, cats eat 
  1493. animals. Therefore cats eat mice. And also elephants! Okay, so the average 
  1494. domestic moggy is hardly likely to put the wind up an African elephant, 
  1495. but a lion is a cat. And Lions are a different case. 
  1496.  
  1497. 42
  1498. Here is a short knowledge base that illustrates some relationships 
  1499. that Saturn can find: 
  1500.  
  1501. *John
  1502. John likes Mary.
  1503.  
  1504. *Mary
  1505. Mary likes Peter. She is Peter's mother.
  1506.  
  1507. *Peter
  1508. Peter likes John.
  1509.  
  1510. *Paul
  1511. Paul is Peter's father.
  1512.  
  1513. Provided with this information, Saturn can answer "who is Peter's father?" 
  1514. but cannot answer "who is Paul's son?". Saturn cannot answer this question 
  1515. because it has no idea of the term "son". Saturn doesn't understand 
  1516. what a "father" is, but can still answer the question "who is Peter's 
  1517. father?" Not by understanding the question, but by recognising the 
  1518. connection between the question and the information "Paul is Peter's 
  1519. father." How about parentage? As it stands, the information available to 
  1520. Saturn is insufficient to answer the question "who are Peter's parents?" 
  1521. because nothing informs Saturn what a "parent" is. Adding two replacement 
  1522. directives along the humanist lines of, "for parent read father or mother" 
  1523. we come up with the additional lines in the knowledge base: 
  1524.  
  1525. +PARENT
  1526. FATHER
  1527. +PARENT
  1528. MOTHER
  1529.  
  1530. Now Saturn is equipped to answer questions of parentage because it can use 
  1531. the replacement directives to decide that "parent" means "father" and 
  1532. "parent" means "mother". A touch of fuzzy logic for you! 
  1533.  
  1534. Similarly, Saturn has no idea of the word "like", but can answer 
  1535. questions about "who likes whom" such as "who like Peter?". If we ask 
  1536. Saturn "what does John do?" Saturn will not know. Saturn does not know 
  1537. because inorder to answer a question of what something, or someone does, 
  1538. Saturn seeks an "action" within the information stored about the subject. 
  1539. If saturn knew that "like" was an action, then it could answer 
  1540. the question. We can inform Saturn that "like" is an action by adding it 
  1541. as an action word directive to the knowledge base: @like. 
  1542.  
  1543.  
  1544. 43
  1545. QUALIFICATION:
  1546.  
  1547. Saturn can allow more specific questions. Imagine the following knowledge 
  1548. base that refers to three people: Jack, Brian and Peter. Jack and Peter 
  1549. are builders. Each has built a house, Jack's is in Bristol and Peter's in 
  1550. Bath. Brian is a writer, and has written a story entitled "Fish and 
  1551. Chips". 
  1552.  
  1553. *Jack
  1554. Jack is a builder.
  1555.  
  1556. *House (Bristol)
  1557. Jack built the house in Bristol.
  1558.  
  1559. *Brian
  1560. Brian is a a writer of short stories.
  1561.  
  1562. *Fish And Chips
  1563. Brian wrote Fish_And_Chips
  1564.  
  1565. *Peter
  1566. Peter is a builder.
  1567.  
  1568. *House (Bath)
  1569. Peter built the house in Bath.
  1570.  
  1571. Armed with this information Saturn can answer "who built the house in 
  1572. Bath?" and "who built the house in Bristol?" If we ask Saturn, "who built 
  1573. the house?" we are asking a bad question. There are two houses, which 
  1574. house are we interested in? Saturn will answer with details of one house, 
  1575. which one it selects is another matter! We must qualify our question. 
  1576. The example questions, "who built the house in Bath?" and "who built the 
  1577. house in Bristol?" each contain three qualification elements: "built", 
  1578. "house" and either "Bath" or "Bristol". These qualifications enable Saturn 
  1579. to select one and only one item of data. 
  1580.  
  1581. This idea of qualification can be imagined as a tree diagram. 
  1582. Let us imagine the scenario where a woman wants a partner. The root of the 
  1583. tree is then "I want a partner" abbreviated to "PARTNER" in the following 
  1584. diagram. The first level of qualification may be gender since there are 
  1585. only two, and yet other characteristics may be common to both. 
  1586.  
  1587. .R:P
  1588.  
  1589.  
  1590.                                   PARTNER
  1591.                                      │
  1592.                            ┌─────────┴───────┐
  1593.                           MALE            FEMALE
  1594.  
  1595. .R:Q
  1596.  
  1597. 44
  1598. The gender, "MALE" and "FEMALE" branches will obviously each lead to lots 
  1599. of other branches concerning physical attributes, personality traits and 
  1600. so on. The next branch may be concerning wealth; "RICH" or "POOR" 
  1601.  
  1602. .R:P
  1603.  
  1604.                                     PARTNER
  1605.                                        │
  1606.                           ┌────────────┴────────────┐
  1607.                         MALE                     FEMALE
  1608.                           │                         │
  1609.                     ┌─────┴─────┐             ┌─────┴─────┐
  1610.                    RICH        POOR          RICH        POOR
  1611.                  ┌──┴──┐     ┌──┴──┐       ┌──┴──┐     ┌──┴──┐
  1612.                  │     │     │     │       │     │     │     │
  1613.                 TALL SHORT  TALL SHORT    TALL SHORT  TALL SHORT
  1614.  
  1615. .R:Q
  1616.  
  1617.  
  1618. And so the tree may continue to grow. Each at fork a decision can be taken 
  1619. based upon the qualifications available. So the first question concerns 
  1620. gender. As the woman wants a male partner, the entire righ-hand side of 
  1621. the tree will be subsequently ignored. Then she may decide she wants a 
  1622. rich partner, and so on. The more decisions that are taken concerning the 
  1623. qualification of the data, the fewer branches remain, and a more specific, 
  1624. less ambiguous solution can be found. As a practical application, using 
  1625. the imaginery dating agency knowledge base supplied, queries can be made 
  1626. of Saturn along the lines of "list all MEN with BROWN HAIR that DON'T 
  1627. SMOKE" The qualifiying statements have been typed in capitals only to 
  1628. emphasise them for clarity. 
  1629. 45
  1630.                                APPENDIX ONE
  1631.  
  1632.                               ERROR MESSAGES
  1633.  
  1634.  
  1635.  
  1636. Sometimes things can go wrong! Saturn may not be able to continue to 
  1637. operate because of a variety of reasons. In these circumstances an error 
  1638. message will be displayed and Saturn will cease functioning, returning 
  1639. control to the computer's DOS. 
  1640.  
  1641. FATAL ERROR: Out of memory
  1642.  
  1643. Saturn could not access sufficient memory to continue. If you have other 
  1644. programs running, try deactivating them and then run Saturn again. 
  1645.  
  1646. FATAL ERROR: Knowledge tree too complex
  1647.  
  1648. This could be for one of three reasons. Firstly a reference in the 
  1649. knowledge tree references itself, such as; 
  1650.  
  1651. /ALL PEOPLE ARE PEOPLE
  1652.  
  1653. Or, there are more than 100 /ALL entries in the knowledge base, or the 
  1654. knowledge tree really is too large for another reason. Try pruning it and 
  1655. run Saturn again. 
  1656.  
  1657. FATAL ERROR: Unable to open knowledge base
  1658.  
  1659. For some reason Saturn could not access the specified knowledge base, 
  1660. perhaps it does not exist in the specified disk directory? 
  1661.  
  1662. FATAL ERROR: Out Of Memory Creating Knowledge Tree
  1663.  
  1664. Saturn could not access sufficient memory to continue. If you have other 
  1665. programs running, try deactivating them and then run Saturn again. 
  1666.  
  1667. FATAL ERROR: Too many declared actions
  1668.  
  1669. There is a limit of 50 actions that can be declared in a knowledge base. 
  1670.  
  1671. FATAL ERROR: Too many declared replacements
  1672.  
  1673. There is a limit of 50 replacements that can be declared in a knowledge 
  1674. base. 
  1675.  
  1676. 46
  1677. FATAL ERROR: Out of memory loading data
  1678.  
  1679. The knowledge base is too large for the available memory. If you have 
  1680. other programs running, try deactivating them and then run Saturn again. 
  1681. If not, try reducing the size of the knowledge base by making use of 
  1682. Saturn's unrivalled relational capabilities. 
  1683.  
  1684. FATAL ERROR: Too many data items in knowledge base
  1685.  
  1686. Saturn can access a maximum of 10000 data items. The knowledge base 
  1687. contains more than this limit. 
  1688.  
  1689. If Saturn displays the message; "I can't. The printer's not responding". 
  1690. You should check that you have a printer connected to the computer. You 
  1691. should also check that the printer has paper loaded. Also check that the 
  1692. printer is switched on, plugged in, and on line. Saturn only prints to the 
  1693. parallel port, it cannot make use of serial printers. 
  1694. 47
  1695.                                APPENDIX TWO
  1696.  
  1697.                            EXAMPLE APPLICATIONS
  1698.  
  1699.  
  1700. Saturn is not just an acacdemic tool for playing with artificial 
  1701. intelligence. It can also be used as a powerful relational database. Okay, 
  1702. forget using it for Invoicing. But you might like to consider the 
  1703. implications for customer lists, personnel details, appointments, names 
  1704. and addresses, study notes and so on. 
  1705.  
  1706.  
  1707. CATALOGUING YOUR HOME RECORDED VIDEOS:
  1708.  
  1709. Saturn is perfect for storing a catalogue of any description. It provides 
  1710. the means to locate quickly items, extract items by categories on-the-fly 
  1711. so to speak etc. Let's imagine you have a collection of home recorded 
  1712. videos, WHICH IS ILLEGAL and NOT CONDONED BY SERVILE SOFTWARE. To 
  1713. catalogue the collection you need to be able to identify each video 
  1714. cassette, so you may wish to number them. You can then enter data about 
  1715. each film/program/cartoon etc into a knowledge base using SATEDIT. A 
  1716. typical entry will have as its subject the name of the 
  1717. film/program/cartoon and the body of the data will mention; 
  1718.  
  1719. which casette it is on
  1720. what the counter position is
  1721. the type of recording - cartoon, comedy, horror, children's 
  1722. the starring actors.
  1723.  
  1724. The following example, taken from the example file VIDEO.KNB illustrates a 
  1725. typical film entry. The film's title is "TOPPER" which is the subject 
  1726. entry. The film is a comedy, so that is mentioned as are the starring 
  1727. actors and the location of the film. 
  1728.  
  1729. *TOPPER
  1730. Topper is a black and white comedy starring Cary Grant, Constance Bennett and 
  1731. Roland Young. It is on video 1 at counter 0000. 
  1732.  
  1733. Armed with this information Saturn can answer questions such as "Where is 
  1734. Topper" which it will answer with "on video 1 at counter 0000." A quick 
  1735. way to do this is to select the "Locate" facility from the menu, and type 
  1736. in the subject title "Topper". 
  1737.  
  1738. The "List Details" menu facility can be used to remind you of what 
  1739. comedies you have. Simply enter "Comedy" as the criteria and Saturn will 
  1740. display the recorded details of all the comedies in your collection. 
  1741.  
  1742. You also may like to include action word directives such as "@direct" and 
  1743. "@star" so that you can ask questions such as "who directed Mary Poppins?" 
  1744.  
  1745.  
  1746. 48
  1747. CATALOGUING YOUR CD COLLECTION:
  1748.  
  1749. Just like the video catalogue application, Saturn can be used to catalogue 
  1750. your record, tape and CD collection. Enabling you to locate quickly which 
  1751. albumn that particular song is on, remind you of which songs are on which 
  1752. albumns, and who performs what songs. You may want to include action word 
  1753. directives such as "@sing", "@perform" and "@produce" 
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759. 49
  1760.                               APPENDIX THREE
  1761.  
  1762.                              THE SATURN EDITOR
  1763.  
  1764.  
  1765. The Saturn Editor is selected from the "Edit" facility of the Saturn 
  1766. Interface menu. 
  1767.  
  1768. The editor provides a convenient means of creating new knowledge bases, 
  1769. and editing the data in existing knowledge bases. Entry of replacements, 
  1770. actions and knowledge trees requires an external text editor. You cannot 
  1771. enter these Saturn directives through the Saturn Editor. 
  1772.  
  1773. Note:
  1774. The built in editor cannot cope with large knowledge bases. You should use 
  1775. an external editor or word processor to edit large knowledge bases.
  1776.  
  1777.  
  1778. CREATING A NEW KNOWLEDGE BASE:
  1779.  
  1780. To create a new knowledge base select the "File" facility from the Saturn 
  1781. Interface menu. Highlight the "<NEW>" file name and press ENTER. Saturn 
  1782. will then prompt you to enter the name of the knowledge base to create. 
  1783. Enter the name and press ENTER. Now select the "Edit" facility from the 
  1784. Saturn Interface Menu. 
  1785.  
  1786.  
  1787. .R:P
  1788. ┌──────────────────────────────────────────────────────────────────────────────┐
  1789. │Servile Software                  SATEDIT V3.2                         (c)1996│
  1790. └──────────────────────────────────────────────────────────────────────────────┘
  1791.                                                                                 
  1792. Loading knowledge base newbase.knb from disk                                    
  1793. WARNING! Unable to load knowledge base.                                         
  1794. SUBJECT:                                                                        
  1795.                                                                                 
  1796.                                                                                 
  1797.                                                                                 
  1798.                                                                                 
  1799.                                                                                 
  1800.                                                                                 
  1801.                                                                                 
  1802.                                                                                 
  1803.                                                                                 
  1804.                                                                                 
  1805.                                                                                 
  1806.                                                                                 
  1807.                                                                                 
  1808.  F1 Help         F2 Save           F3 Load           F4 Record         Esc Exit 
  1809.  
  1810.  
  1811.                                                                                 
  1812. 50
  1813.                          Creating a new knowledge base
  1814.                                                                                 
  1815. .R:Q
  1816.  
  1817.                                                                                 
  1818.  
  1819. 51
  1820. ADDING/AMENDING A SUBJECT:
  1821.  
  1822. Next to the SUBJECT: prompt, type in the title of the subject to add or 
  1823. amend and press Enter. The Saturn Editor will then open a large edit 
  1824. window. In this edit window will be displayed the data already recorded 
  1825. about the subject. 
  1826.  
  1827.  
  1828. .R:P
  1829. ┌──────────────────────────────────────────────────────────────────────────────┐
  1830. │Servile Software                  SATEDIT V3.2                         (c)1996│
  1831. └──────────────────────────────────────────────────────────────────────────────┘
  1832.                                                                                 
  1833. Knowledge Base: general.knb                                                     
  1834.                                                                                 
  1835. SUBJECT: England                                                                
  1836.                                                                                 
  1837. ╒══════════════════════════════════════════════════════════════════════════════╕
  1838. │England is a country in west Europe. It is the largest division of the united │
  1839. │kingdom._                                                                     │
  1840. │                                                                              │
  1841. │                                                                              │
  1842. │                                                                              │
  1843. │                                                                              │
  1844. │                                                                              │
  1845. │                                                                              │
  1846. │                                                                              │
  1847. │                                                                              │
  1848. │                                                                              │
  1849. │                                                                              │
  1850. ╘══════════════════════════════════════════════════════════════════════════════╛
  1851.                                                                                 
  1852.                                                                                 
  1853.  F1 Help      F2 Insert subject      F3 Insert previous subject       F4 Replay 
  1854.  
  1855.                                  Amending data
  1856.  
  1857.  
  1858. .R:Q
  1859. SAVING:
  1860.  
  1861. From the Subject prompt you can save the changes you have made by pressing 
  1862. F2 
  1863.  
  1864.  
  1865. LOADING:
  1866.  
  1867. From the Subject prompt you can load a different knowledge base by 
  1868. pressing F3. The changes you have made to the existing knowledge base are 
  1869. saved, and you are then prompted to enter the name of the knowledge base 
  1870. to load. 
  1871.  
  1872.  
  1873. 52
  1874. RECORD:
  1875.  
  1876. Pressing F4 allows a string of characters to be recorded. This string can 
  1877. then be inserted into the edit window by pressing F4 in the edit window. 
  1878.  
  1879.  
  1880. EXITING:
  1881.  
  1882. Press return or Esc at the subject prompt and satedit will ask if you wish 
  1883. to save the changes you have made to the knowledge base. Press Y to save 
  1884. and N to lose any changes you have made. If you select N, to lose any 
  1885. changes made to the knowledge base, Satedit will ask for confirmation. You 
  1886. should press Y to exit without saving the changes, or N to changeyour mind 
  1887. and save them. 
  1888.  
  1889.  
  1890.  
  1891. 53
  1892. THE EDIT WINDOW:
  1893.  
  1894. The edit window provides you with the maximum available area for a data 
  1895. item, 12 lines. Editing starts in overtype mode, showed by a small 
  1896. rectangular cursor. You can toggle between insert and over-type modes by 
  1897. pressing the key marked "Insert". To exit the edit window press the key 
  1898. marked "Esc". The table below lists all special keys used in the edit 
  1899. window. 
  1900.  
  1901.  
  1902. .R:P
  1903. Key             Function
  1904.  
  1905. Esc             Save text and exit.
  1906. Left arrow      Move left one character
  1907. Right arrow     Move right one character
  1908. Up arrow        Move up one line
  1909. Down arrow      Move down one line
  1910. Home            Move to start of line
  1911. End             Move to end of line
  1912. Tab             Move to next tab position
  1913. Shift-Tab       Move to previous tab position
  1914. Ctrl-T          Delete word to right
  1915. Ctrl-Y          Delete current line
  1916. Page Up         Move to top of page
  1917. Page Down       Move to bottom of Page
  1918. Ctrl-Home       Move to start of text
  1919. Ctrl-End        Move to end of text.
  1920. Delete          Delete character at cursor
  1921. Backspace       Delete character to left of cursor
  1922. Insert          Toggle insert mode
  1923. Return          Insert a blank line line
  1924. Ctrl-Page Up    Move to first line of window
  1925. Ctrl-Page Down  Move to last line of window
  1926. F1              Help
  1927. F2              Auto-type current subject heading. This saves retyping 
  1928.                 subject names in the edit window. 
  1929. F3              Auto-type previous subject heading. This saves retyping 
  1930.                 subject names in the edit window. 
  1931. F4              Auto-type a previously recorded string of text.
  1932. .R:Q
  1933. 54
  1934.                                APPENDIX FOUR
  1935.  
  1936.                               ACKNOWLEDGMENTS
  1937.  
  1938.  
  1939.  
  1940. Saturn was developed under a need to satisfy a need for a particular 
  1941. individual. Saturn is dedicated to that individual, Deloris. 
  1942.  
  1943.  
  1944. Data used in the supplied knowledge bases has been derived from 
  1945. information recorded in a multitude of works including: 
  1946.  
  1947. The Waverley Encyclopaedia
  1948. The Modern Cyclopaedia (1906)
  1949. Pears Encyclopaedia (Editions 78, 89 and 99)
  1950. The Chancellor Illustrated Family Encylopedic Dictionary (1989)
  1951. Murrays Manual of Mythology (1936)
  1952. Soviet Airpower (1978)
  1953. The Concise Oxford Dictionary (6th Edition)
  1954. Odhams Encyclopaedia (Illustrated)
  1955.  
  1956. 55
  1957.  
  1958. SATURN was written by Matthew Probert and published by Servile Software. All 
  1959. enquiries should be addressed to;
  1960.  
  1961. Matthew Probert
  1962. Servile Software
  1963. 5 Longcroft Close
  1964. Basingstoke
  1965. Hampshire
  1966. RG21 8XG
  1967. England
  1968.  
  1969. Telephone 01256 414072
  1970.  
  1971.