KB Browser Layout

1.1. Cyc Browser Layout

1.1.1. Finding Your Way Around

1.1.1.a. KB Browser Frames

The Cyc KB Browser is composed of three main frames. The top frame is the "Tools Frame" which contains the type-in box, the login prompt, and the toolbar. The "Middle Frame" is where constants and assertions are displayed. At the bottom of the page is the "System Information Frame" which displays various information about the status of your current Cyc image.

1.1.1.b. Logging In

When you start up a Cyc image, you will automatically be taken to the "Login Area". Type your Cyc username (the Cyc constant that represents you) in the text box. If you are working on a specific Cyc project, you may click on the "Choose Project" button and select your project from the list. You are now logged in and your project is set.

1.1.1.c. Middle Frame

The "Middle Frame" is where Cyc constants and assertions are displayed. When you type a recognized Cyc constant in the search window, you'll notice that your "Middle Frame" splits into two frames. The frame on the left is the "Index Frame". The right-hand frame is the "Assertion Display Frame".

1.1.1.d. Index Frame

The "Index Frame" allows you to access particular assertions quickly. For instance, if you click on "Documentation", you will see who created the constant, when it was created, what project it was created for, and the constant's comment and any cyclistsNotes displayed in the "Assertion Display Frame". If you click on "Lexical Info", all of the constant's lexical assertions will be shown. If you click on "All Assertions", every assertion that contains that constant in some argument position will appear.

The "Index Frame" is also where some KE Tools are located, such as "Create Similar", "Merge", and "Kill".

You can also view all collections of which the constant is an instance of, and, in the case of collections, all the supercollections of a constant by clicking on the green cross next to #$isa or #$genls under Arg1. This will display (in alphabetical order) every X for which (isa ?CONSTANT-YOU-ARE-VIEWING ?X) or (genls ?CONSTANT-YOU-ARE-VIEWING ?X) is true. If the constant is a predicate, then all the more general forms of the predicate are displayed. Similarly, you can view all the constants that #$isa or #$genls TO the constant you are viewing by clicking on the green cross next to #$isa or #$genls under Arg2. This will display all the ?Xs for which (isa ?X CONSTANT-YOU-ARE-VIEWING) or (genls ?X CONSTANT-YOU-ARE-VIEWING) is true.

For the most part, assertions are indexed in the "Index Frame" based on what position the focal constant fills in that assertion.

In the next section, we will address the hierarchy Browser which is a good tool for viewing assertions using transitive predicates.

1.1.1.e. The Hierarchy Browser

You will notice several icons next to the constant name at the top of the "Index Frame". The red diamond is a link to the hierarchy browser. This is a tool that lets you see the a transitive hierarchy for the constant you are viewing. The most common hierarchy to examine is the #$genls hierarchy. It is also the most robust. All the constants that appear below the constant in question are "specs", or specializations of the constant you are viewing. The constants above have the constant in question as a specialization.

The default setting for most collections is #$genls, but you may view other hierarchies through this tool, such as #$isa, #$genl-CW (for #$ConceptualWorks), #$genlPreds (for predicates), or #$genlMt (for microtheories). Click on the "Change Hierarchy Browser Settings" button and enter a different binary predicate (such as #$isa) in the "Binary Predicate" box to change the hierarchy you are viewing.

For more information, please see the section on "Searching For Constants".

1.1.2.  Assertion Display Frame

If an assertion has the constant you are viewing in the first argument position and a binary predicate in the Arg 0 position, the assertion is displayed in shorthand in the "Assertion Display Frame". For instance, you might see:

   Mt : HumanActivitiesMt
   genls :  Needle 

If you click on the colored sphere just before "Needle", the full assertion will be displayed:

   Mt : HumanActivitiesMt
   HL Formula : 
      (genls SewingNeedle Needle)

Also, additional information about the assertion, including who asserted it and when, is displayed after selecting the colored sphere.

Note that this shorthand is not used for assertions where the constant is in the second (or any other) argument position. By convention, we only use this format when the constant is in the first argument position.

The color of the sphere says something about the assertion. Here is a key of what the different colors mean:

White: The assertion is monotonically true.
Yellow: The assertion is default true.
Green: The assertion was inferred or derived from a forward rule.
Purple: The assertion is a backward rule.
Blue: The assertion is a forward rule.
Aqua: The assertion has been inferred and it was asserted by a Cyclist (i.e. it is redundant).
Red: The assertion is a negation (not) statement and what has been negated is false.

1.1.3. Searching for constants in the KB - The Search Window

1.1.3.a. The "Show" Button

Suppose you are searching for the constant that represents the collection of electric guitars. You are not sure if the constant is represented as #$Guitar-Electric or #$ElectricGuitar. One way to search for this constant would be to use the "Show" button. Using this search option allows you to search for constants using only part of the constant name. An asterisk works as a wild card when placed at the beginning or end of a word. For example, if you type "*guitar*" in the text box and click the "Show" button, Cyc returns all constants that contain the word "guitar" at any point in the constant name. Similarly, you can type "guitar*" and Cyc will return all constants that begin with the word "guitar".

1.1.3.b. The GREP Feature

You can do more advanced searches using the GREP button. With this feature, you can place a ".*" at any point in the constant name (beginning and end included) and Cyc will treat this as a wild card. For instance, suppose you are searching for the constant that represents Bill Clinton. You are not sure if the constant name is WilliamClinton, BillClinton, or perhaps even BillClinton-President. You can enter ".*ill.*clinton.*" in the type-in box, click the GREP button, and Cyc will return:

    BillClinton
    BillClintonSpeakingIMt
    HillaryClinton

1.1.3.c. Lexical Assertions

One final way to search for constants is by entering a logical way to refer to that constant in English and hitting "enter" on your keyboard or the "Show" button. Every Cyc constant has at least one lexical assertion. Lexical assertions are what relate Cyc constants to the word or string we would use to refer to that concept in English. For example, if I simply type "electric guitar" into the type-in box, Cyc will bring me to the concept #$Guitar-Electric via this assertion:

   Mt: EnglishMt
     (multiWordString 
          ("electric") Guitar-TheWord SimpleNoun Guitar-Electric)

For more information on search strategies, please see the section on "Searching For Constants".

1.1.4.  The System Information Frame

Each machine runs it's own copy of Cyc called a "Cyc image". The assertions you make on your machine get processed and sent to a local transcript. You can access this transcript as well as other information about your image through the "System Information Frame".

Here is what your System Information Frame looks like:

Update  Comm: Storing Only  Agenda: Sleep  KB: 541  System: 1.1579

1.1.4.a. Update

Selecting the "Update" link will refresh your "System Information Frame", and, if your agenda is running (noted by the "Agenda Status" section of the "System Information Frame" as "Agenda: Run" instead of "Agenda: Sleep"), show you how many operations have passed through your agenda.

1.1.4.b. Communication Status Area

The "Comm" link brings you to the "Communication Status Area" which displays your transmitting and recieving options. The default transmitting option is "Store For Later". This is the recommended choice. If you choose this option, the assertions you make will go to your local transcript and will not be sent to everyone else until you decide to transmit them. If you choose "Do Not Record", the assertions you make will not be recorded, and therefore, can never be sent to others. The "Send Immediately To Everybody" option should be used with extreme caution (if ever). This will cause every assertion you make to be automatically sent to everyone's image. If you accidentally make a bad assertion while this option is selected, everyone else will have to deal with the problem you've created.

The "Receiving" options are very simple. If you choose "Yes", you will recieve operations that others are sending out. If you choose "No", you will not. The most common reason that people choose not to receive operations is because if large numbers of operations (or a particularly expensive one, such as a rather general forward rule) are being sent, your image may be slowed down while it processes these assertions. Otherwise, it is a good idea to be in receiving mode so that you have the most up to date information on your image.

You can also filter out certain operations if you know there is a large number of operations coming in that you do not immediately need. Click the "Edit Remote Operation Filters" link to do so.

1.1.4.c. Agenda

The agenda is the local queue of operations. If you click on this link, you can see what operation Cyc is currently processing. If an operation seems to be taking a very long time to be processed, you can choose to abort the operation. If an operation comes through (asserted by you or someone else) that conflicts with existing information in Cyc, your agenda will halt. If the default option is selected on the "Agenda" page, this will be displayed as "Agenda: None" in the "System Information Frame". If you click on this link and choose "Start Agenda", the bad operation will be ignored and your agenda will start running again.

1.1.4.d. KB Number

Every few days, a "new KB", or "new world" is released. A "KB" is a "new" copy of Cyc that contains all the most recent assertions, as well as all previous assertions. The reason we do this is to prevent the loss of all of Cyc due to a technical malfuction. If we lose the current KB because of some catastrophic technical problem, we will only have lost the most recently entered knowledge--no more than a few days of work. The previous KB containing the past fifteen or so years of work will still be intact.

1.1.4.e. Remote

This is the area where you can "watch" assertions others have made being processed in your local image. Cyc pulls 200 remote operations at a time. The number on the left is the number of operations waiting in the local queue to be processed. The number in the middle (in red) is the number of operations currently being worked on. The number on the right is the number of assertions that have now been processed.

1.1.4.f. Local

"Local" only appears on the "System Information Frame" if there are currently operations in your local transcript. In addition to the "Remote" display, Cyc will also display the queue of operations for the local image under "Local". The "Local" indicator performs in much the same way as the "Remote" indicator does, although it indicates the total number of operates yet to be processed in the local queue, rather than just those left of the most recent batch of 200.

1.1.4.g. System

The "System" link contains a lot of information about your Cyc image. The top portion tells you how long your image has been running, the name of your image, which KB you're in, what patch level you are at, etc. Just below that is a link to your local transcript. If you click on this link, you can see all the operations you have recorded on your image but have not yet transmitted. The "Queue Information" tells you how many operations you have to process before your image is caught up with the master transcript. Finally, the "Historical Information" displays the number of operations you have recorded and the number of operations you have transmitted to the master transcript.