Table of Contents
- 1. Introduction
- 1.1. Abstract
- 1.2. Compatibility
- 1.3. Mailing List
- 1.4. Bugs
- 1.5. Assumptions
- 1.6. Getting ready
- 1.6.1. Unpacking the Distribution
- 1.6.2. Compiling Jess
- 1.6.3. Jess Example Programs
- 1.6.4. Command-line Interface
- 1.6.5. Jess as an Applet
- 1.7. What makes a good Jess application?
- 1.7.1. Jess vs. Prolog
- 1.8. About Jess and performance
- 1.8.1. Sun's HotSpot Virtual Machine
- 1.9. Command-line, GUI, or embedded?
- 2. The Jess Language
- 2.1. Basics
- 2.1.1. Atoms
- 2.1.2. Numbers
- 2.1.3. Strings
- 2.1.4. Lists
- 2.1.5. Comments
- 2.2. Functions
- 2.3. Variables
- 2.3.1. Global variables (or defglobals)
- 2.4. Deffunctions
- 2.5. Defadvice
- 2.6. Java reflection
- 2.7. The knowledge base
- 2.7.1. Ordered facts
- 2.7.2. Unordered facts
- 2.7.3. The deffacts construct
- 2.7.4. Definstance facts
- 2.8. Defrules
- 2.8.1. Basic Patterns
- 2.8.2. Pattern bindings
- 2.8.3. Salience and conflict resolution
- 2.8.4. The 'and' conditional element.
- 2.8.5. The 'or' conditional element.
- 2.8.5.1. Subrule generation and the 'or' conditional element.
- 2.8.6. The 'not' conditional element.
- 2.8.6.1. Rearrangements and the 'not' conditional element.
- 2.8.7. The 'test' conditional element.
- 2.8.8. The 'logical' conditional element.
- 2.8.9. The 'unique' conditional element.
- 2.8.10. The 'exists' conditional element.
- 2.8.11. Node index hash value.
- 2.8.12. Forward and backward chaining
- 2.9. Defqueries
- 2.9.1. The variable declaration
- 2.9.2. The run-query command
- 2.9.3. The count-query-results command
- 2.9.4. The future of queries
- 2.10. Defmodules
- 2.10.1. Defining constructs in modules
- 2.10.2. Modules, scope, and name resolution
- 2.10.3. Module focus and execution control
- 2.10.3.1. The auto-focus declaration
- 2.10.3.2. Returning from a rule RHS
- 3. Programming in the Jess Language
- 3.1. Using an External Editor
- 3.2. Efficiency of rule-based systems
- 3.3. Error Reporting and Debugging
- 3.4. Putting Java Objects into Fact Slots
- 4. Introduction to Programming with Jess in Java
- 4.1. The jess.JessException class
- 4.2. The jess.Value class
- 4.2.1. The subclasses of jess.Value
- 4.2.1.1. The class jess.Variable
- 4.2.1.2. The class jess.FuncallValue
- 4.2.1.3. The class jess.LongValue
- 4.2.1.4. The class jess.FactIDValue
- 4.2.2. Value resolution
- 4.3. The jess.Context class
- 4.4. The jess.Rete class
- 4.4.1. Equivalents for common Jess functions
- 4.4.2. Executing other Jess commands
- 4.4.2.1. Optional commands
- 4.4.3. The script library
- 4.4.4. Transferring values between Jess and Java code
- 4.4.5. Methods for adding, finding and listing constructs
- 4.4.6. I/O Routers
- 4.4.7. jess.awt.TextAreaWriter and jess.awt.TextReader
- 4.5. The jess.ValueVector class
- 4.6. The jess.Funcall class
- 4.7. The jess.Fact class
- 4.7.1. Constructing an Unordered Fact from Java
- 4.7.2. Constructing a Multislot from Java
- 4.7.3. Constructing an Ordered Fact from Java
- 4.8. The jess.Deftemplate class
- 4.9. The jess.Token class
- 4.10. The jess.JessEvent and jess.JessListener classes
- 4.10.1. Working with events from the Jess language
- 4.11. Setting and Reading Java Bean Properties
- 4.12. Formatting Jess Constructs
- 5. Adding Commands to Jess
- 5.1. Writing Extensions
- 5.1.1. Implementing your Userfunction
- 5.1.1.1. Legal return values
- 5.1.2. Loading your Userfunction
- 5.1.3. Calling assert from a Userfunction
- 5.2. Writing Extension Packages
- 5.3. Obtaining References to Userfunction Objects
- 6. Embedding Jess in a Java Application
- 6.1. Using the class jess.Main
- 6.2. Manipulating Jess in other ways
- 7. Creating Graphical User Interfaces in the Jess Language
- 7.1. Handling Java AWT events
- 7.2. Screen Painting and Graphics
- 8. The Jess Function List
9. Jess's Java APIs
- 10. The Rete Algorithm
- 11. Change History
- 12. References
- 12.1. Java and Java Programming
- 12.2. Expert Systems
- 13. Release Notes
- 13.1. Porting from Jess 5 to Jess 6
- 13.2. Limitations of Jess 6.0
Back to index