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.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. Rules and Queries
2.8.1. Defrules
2.8.1.1. Basic Patterns
2.8.1.2. Pattern bindings
2.8.1.3. Salience and conflict resolution
2.8.1.4. The 'or' conditional element.
2.8.1.5. The 'and' conditional element.
2.8.1.6. 'Not' patterns.
2.8.1.7. The 'test' conditional element.
2.8.1.8. The 'unique' conditional element.
2.8.1.9. The 'exists' conditional element.
2.8.1.10. Node index hash value.
2.8.1.11. Forward and backward chaining
2.8.2. Defqueries
2.8.2.1. The variable declaration
2.8.2.2. The run-query command
2.8.2.3. The count-query-results command
2.8.2.4. The future of queries
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
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.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
5. Adding Commands to Jess
5.1. Writing Extensions
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

Back to index