Viewing and Modifying the OpenCyc KB

The OpenCyc KB is essentially a sea of constants and a sea of assertions. There are many different ways to locate and view both constants and assertions, as well as many different operations that can be performed on them. This section describes how to view and make modifications to the KB.

For each of the sections/tools below, there is most likely a corresponding section/reference in the "Using the Cyc Web Interface" tutorial mentioned earlier.


Searching for Constants

NOTE: The GREP facility is not currently available in OpenCyc, but it will be made available as soon as a programmer has the time to migrate it from the full Cyc version.


The easiest way to search for constants in the KB is to use the search facility located in the Toolbar Frame. Simply enter in a constant name (without the "#$") and click the [Show] button. It is also possible in this window to use strings (via wildcards or unix GREP) to search for constant names. For details on all of these options, see the Toolbar Help.

A second way to find constant names is to use the [Complete] button next to many of the input windows throughout the Browser. Simply enter the first part of a constant name and press the [Complete] button. Possible completions will be displayed in a separate completion window which will be reused for future completions. Completion is case sensitive, and requires that JavaScript is enabled in your browser.

One final way to search for constants is to use the Alphabetical Search, which provides an alphabetical listing of constant names. The Alphabetical Search can be reached via the "A"  link in the Browser, and will appear automatically if Cyc is unable to find a matching constant when using the search facility in the Toolbar. For details, see the Alphabetical Search Help.


Viewing Constants

To view a constant that appears anywhere in the KB Browser, such as in an assertion, in a constant completion list, or in the Browser History, simply click on the highlighted constant name. The one exception to this is in the left-hand frame of the Term Index, where constant names are actually assertion categories. For details, see the Term Index Help.

One other method of viewing constants is the Hierarchy Browser, which provides a hierarchical listing of constants. The Hierarchy Browser can be reached by clicking on the "Hier" link in the Toolbar or Browser Tools pages, via the red diamond  link in the Browser, or as a link in the Cyc Navigator. For details on the Hierarchy Browser, see the Hierarchy Browser Help.


Creating Constants and Performing Operations on Constants

There are several ways to create new Cyc constants. Perhaps the easiest way is to use the Create tool, which allows the user to create a new constant as an individual operation. The Create tool can be reached by clicking on the "Create" link in the Toolbar or Browser Tools pages, as well as through the Cyc Navigator. Details on using this tool are provided in the Constant Creation Help.

Operations such as renaming and killing constants are relatively easy to do in Cyc (though they should be done sparingly). Simply display the constant in the KB Browser (see above for how to do this). Under the constant name in the Term Index will be links titled "Rename" and "Kill". Clicking on these will take the user to the Rename and Kill facilities, respectively. Be sure to read the help documentation linked to those pages, as well as the documentRenaming and Killing Constants.


Searching for Assertions in the KB

As mentioned above, the KB is a sea of assertions. How to find the one you want?

If you know one of the terms involved in the assertion you're looking for, the easiest way to find the assertion is to display that constant in the KB. You can then choose one of the categories in the left-hand frame of the Term Index to display a desired subset of the assertions involving that constant. Clicking on "All Assertions" will display all the assertions for that constant. You can use the search facility of your HTML browser (Netscape, Explorer) to scan through the assertions for the desired one. See the Term Index Help for descriptions of the Term Index categories.

If you know more than one involved term, there are several options. You can display one of the constants, and then use the second one as a Term Index category (if applicable) or as a search term in the HTML browser search. Better yet, the Index Overlap tool compiles a list of all assertions involving two or more specified constants. Simply use this tool to narrow down choice of assertions to those involving all of the terms specified. When you use the Overlap tool, it is necessary to include the "#$" in the constant names. See the Index Overlap Help for further details.


Viewing Assertions

There are several ways to view sets of assertions in the KB Browser. The standard way is to display a constant, and then use the categories in the Term Index to view the desired set of assertions for that constant, as described above. The second way is to use the Index Overlap tool, also described above. One final way is to use the Literal Query tool to display more assertions of a certain type. This can be done by clicking on the "+" icons next to category names in the Term Index. See the Literal Query Help for details.

To view a single assertion in more detail, click on the colored ball in front of the desired assertion. See the Key for Icons in the Browser for descriptions of the meanings of the different balls (and other icons).


Performing Operations on Assertions

Operations such as editing, deleting, and copying (asserting similar) assertions are fairly straightforward in the KB Browser. First, locate the target assertion and display it in detail by clicking on the colored ball next to it. You'll see a list of operations that can be performed. Here are a few:

Edit: allows the user to edit the assertion.

Unassert: deletes the assertion from the KB (for locally asserted axioms).

Blast: deletes the assertion from the KB (for deduced assertions).

Assert Similar: makes a copy of the assertion, allowing the user to edit the new version, while the original is retained in the KB.

See the Assertion Display Frame Help for a complete list of operations and more detailed descriptions. Also see the Assert Formula Help for help with the Edit Formula and Assert Similar Formula tools.


Adding New Assertions to the OpenCyc KB

There are several methods for adding new knowledge (assertions) to the KB. For single assertions, it's fastest to use the Assert Formula tool in the Browser; just click on the "Assert" link in the Toolbar or Browser Tools page, or access it via the "Browsing and Editing" menu of the Cyc Navigator. This tool allows the user to add one assertion to the KB. See the Assert Formula Help for details.


Loading a Transcript File

NOTE: There is no Master Transcript Server with OpenCyc. Synching knowledge with remote OpenCyc installations will be a challenging undertaking that will require several partial solutions. Several partial-solution candidates exist and will be discussed on the OpenCyc forums.


Operations in the current local transcript can be sent to the Master Transcript simply by sending stored operations from the Communication Status Area. However, it is sometimes desirable to load a transcript manually. (Examples of transcripts to be loaded manually include: transcripts from a previous OpenCyc image,, transcripts containing operations that were cleared instead of being sent to the Master Transcript, or transcripts from other OpenCyc images whose operations have never been sent to the Master Transcript, but it's desireable to have them included in the current local image. Manually loaded transcripts can be loaded up on the local machine and sent (or not) at a later time; the user is never committed to sending operations unless the communication status is set to "Send Immediately".

To manually load a transcript file, select the "Navigator" link from the Toolbar Frame or the Browser Tools page. Click on "Load Transcript File" in the "File Handling" section and follow the instructions there.

To view the current local transcript (or the Master Transcript), click on the "System" link in the Agenda Status Bar, and then click on the relevant highlighted transcript name. It is also possible to view all local transcripts for the current OpenCyc image in the Transcript Viewing Area. To get there, click on the "Viewer" link in the Browser Tools.

For more help with transcripts, see the Cyc Transcript Documentation, as well as the System Area Help, the Transcript Viewing Area Help, and theTranscript File Help.