Similarly, text fields can be read using the natural language processor to see if they contain any useful implicit assertions. Cyc can use this information to locate and report information resources which the user may employ to answer a particular query. In the above diagram, information stored in a database or on the web is made available to the inference engine as virtual assertions. An HL module recognizes that the request asks for an assertion which maps into its virtual knowledge space. The HL module intercepts the request, communicates with the database, web site or other knowledge source, and returns bindings to the inference engine.
Inference then continues, combining information from multiple sources.
The Cyc system also includes a variety of interface tools that permit the user to browse, edit, and extend the Cyc KB, to pose queries to the inference engine, and to interact with the natural-language and database integration modules. The most commonly-used tool, our HTML browser, allows the user to view the KB in a hypertexty way. HTML pages describing Cyc terms are generated on the fly by the Cyc system. Each page describes a Cyc term by showing all the assertions in which it is involved, organized according to a standard schema. The HTML browser also includes facilities for searching and editing the KB and for posing queries to the inference engine.