OpenCyc.org HomepageSBHL: Subsumption-Based Heuristic Modules

E-Mail Comments to: opencyc-doc@cyc.com
Last Update: 03/28/2002
Copyright© 1996-2002 Cycorp. All rights reserved.

Return to Table of Contents

The SBHL modules are a growing collection of modules that support very fast inference involving subsumption tests with respect to particular subsumption hierarchies. Each module is associated with a particular hierarchy, and each hierarchy is defined by ground, atomic assertions in the KB having a particular transitive predicate. Four of the most commonly used modules and their associated predicates are:

SBHL Module       predicate
-----------       ---------
:genls            #$genls
:genl-mts         #$genlMt
:genl-predicates  #$genlPreds
:genl-attributes  #$genlAttributes
The SBHL modules are implemented with special datastructures and over fifty special-purpose API functions that make use of that datastructure.

Importantly, the domains of each of the SBHL predicates are disjoint. Therefore, only collections will have other collections as their superiors, inferiors, and negations; only predicates will have other predicates as their superiors, inferiors, and negations; etc. Since collections, predicates, microtheories, and attributes do not include all constants in the KB, not all constants will have entries on their SBHL slots.

The SBHL methods are described in the Cyc API, but here are some plain English descriptions of some of their capabilities:

getWhyGenlParaphrase("Dog", "Animal") -->

"a dog is a kind of canine"

"a canine is a kind of non-human animal"

"a non-human animal is a kind of animal"

getWhyGenlParaphase("Brazil", "Country") -->

"Brazil is an independent country"

"an independent country is a kind of country"


Go to Top