Contents
Chapter 1 Introduction
1.1 Background and history
1.1.1 Telos and O-Telos
1.2 The architecture of ConceptBase.cc
1.3 Hardware and software requirements
1.4 Overview of this manual
1.5 Differences to earlier versions
1.6 License terms
1.7 Disclaimer and rights
Chapter 2 O-Telos by ConceptBase.cc
2.1 Frame and network representation
2.2 Rules and constraints
2.2.1 Basic predicates
2.2.2 Notes on attribution
2.2.3 Assigning attribute categories to explicit attributes
2.2.4 Reserved words
2.2.5 Comparison predicates
2.2.6 Typed variables
2.2.7 Semantic restrictions on formulas
2.2.8 Rule and constraint syntax
2.2.9 Meta formulas
2.2.10 Further object references
2.2.11 User-definable error messages for integrity constraints
2.3 Query classes
2.3.1 Query definitions versus query calls
2.3.2 Query classes and deductive integrity checking
2.3.3 Nested query calls and shortcuts
2.3.4 Reified query calls
2.4 View definitions
2.5 Functions
2.5.1 Functions as special queries
2.5.2 Shortcuts for function calls and functional expressions
2.5.3 Example function calls and definitions
2.5.4 Programmed functions
2.5.5 Recursive function definitions
2.6 Query evaluation strategies
2.7 Datalog queries and rules
2.7.1 Extended query model
2.7.2 Datalog code
2.7.3 Examples
Chapter 3 Answer Formats for Queries
3.1 Basic definitions
3.2 Constructs in answer formats
3.2.1 Simple expressions in patterns
3.2.2 Pre-defined variables
3.2.3 Iterations over expressions
3.2.4 Special characters
3.2.5 Function patterns
3.2.6 Calling queries in answer formats
3.2.7 Expressions in head and tail
3.2.8 Conditional expressions
3.2.9 Views and path expressions
3.3 Parameterized answer formats
3.4 File type of answer formats
Chapter 4 Active Rules
4.1 Definition of ECArules
4.1.1 ECAassertion
4.1.2 Events
4.1.3 Conditions
4.1.4 Actions
4.1.5 Priorities
4.1.6 Coupling mode of an ECA rule
4.1.7 Execution Semantics
4.1.8 Switching Queues
4.1.9 Activate and Deactivate ECA rules
4.1.10 Depth
4.1.11 User-definable Error Messages
4.1.12 Constraints
4.2 Examples
4.2.1 Materialization of views by active rules
4.2.2 Counter
4.2.3 Timestamps
4.2.4 Simulation of Petri Nets
4.3 Optimization of ECA rules
4.4 Limitations of the current implementation
Chapter 5 The Module System
5.1 Definition of modules
5.2 Switching between module contexts
5.3 Using nested modules
5.4 Exporting and importing objects
5.5 Setting user home modules
5.6 Limiting access to modules
5.6.1 Access to System module
5.7 Listing the module content
5.8 Saving and loading module sources
5.9 Server-side materialization of query results
5.9.1 Post-export command
Chapter 6 The ConceptBase.cc Server
6.1 CBserver parameters
6.2 The tabling subsystem
6.3 Database persistency
6.4 The UNTELL operation
6.4.1 Cascading UNTELL
6.5 Memory consumption and performance
Chapter 7 The CBShell Utility
7.1 Syntax
7.2 Options
7.3 Commands
7.3.1 Argument delimiters
7.4 Interactive use of CBShell
7.5 Positional parameters
7.6 Executable CBShell scripts
7.7 CBShell scripts within regular shell scripts
7.8 CBShell in a pipe
Chapter 8 The ConceptBase.cc Usage Environment
8.1 CBIva
8.1.1 The menu bar
8.1.2 The tool bar
8.1.3 The status bar
8.1.4 Telos editor
8.1.5 History window
8.1.6 Display instances
8.1.7 Frame browser
8.1.8 Display queries
8.1.9 Display functions
8.1.10 Query editor
8.1.11 Tree browser
8.2 ConceptBase.cc graph editor
8.2.1 Overview
8.2.2 Starting the graph editor
8.2.3 Moving objects
8.2.4 Menu bar
8.2.5 Tool bar
8.2.6 Popup menu
8.2.7 Editing of Telos objects
8.2.8 Caching of query results within the graph editor
8.3 An example session with ConceptBase
8.3.1 Starting ConceptBase
8.3.2 Connecting CBIva to the CBserver
8.3.3 Loading objects from external files
8.3.4 Displaying objects
8.3.5 Browsing objects
8.3.6 Editing Telos objects
8.3.7 Using the query facility
8.4 Usage as applet
8.5 Configuration file
Appendix A Syntax Specifications
A.1 Syntax specifications for Telos frames
A.2 Syntax of the rule and constraint language
A.3 Syntax of active rules
A.4 Terminal symbols
A.5 Syntax specifications for SML fragments
Appendix B O-Telos Axioms
Appendix C Graphical Types
C.1 The graphical type model
C.2 The standard graphical types
C.2.1 The extended graphical type model
C.2.2 Default graphical types
C.3 Customizing the graphical types
C.3.1 Properties of CBIndividual and CBLink
C.3.2 Providing a new implementation for a graphical type
C.3.3 Shapes
C.3.4 Icons
Appendix D Examples
D.1 Example model: The Employee model
D.2 A Telos modeling example - ER diagrams
D.2.1 The basic model
D.2.2 The use of meta formulas
D.2.3 Limitations and final remarks
Appendix E Predefined Query Classes
E.1 Query classes and generic query classes
E.1.1 Instances and classes
E.1.2 Specializations and generalizations
E.1.3 Attributes
E.1.4 Links between objects
E.1.5 Other queries
E.2 Functions
E.2.1 Computation and counting
E.2.2 String manipulation
E.3 Builtin query classes
Appendix F CBserver Plug-Ins
F.1 Defining the plug-in
F.2 Calling the plug-in
F.3 Programming interface for the plug-ins