Contents
Chapter 1 Introduction
1.1 Background: Telos and O-Telos
1.2 The architecture of ConceptBase.cc
1.3 Hardware and software requirements
1.3.1 Installation
1.4 Overview of this manual
1.5 Differences to earlier versions
1.6 License terms
1.7 Disclaimer
Chapter 2 O-Telos by ConceptBase.cc
2.1 Propositions and frames
2.1.1 Anonymous object labels
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.2.12 Immutable properties
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 Multi-level modeling with ConceptBase
2.7.1 Expressing semantics at the metamodel level
2.7.2 DeepTelos
2.7.3 Crossing abstraction levels
2.8 Datalog queries and rules
2.8.1 Extended query model
2.8.2 Datalog code
2.8.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.2.10 Encoding answers via answer formats
3.3 Parameterized answer formats
3.4 File type of answer formats
3.5 Bulk query calls
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 Modules and metamodeling
5.6 Setting user home modules
5.7 Limiting access to modules
5.7.1 Access to System module
5.8 Listing the module content
5.8.1 Restrictions of
listModule
5.9 Purging a module
5.10 Saving and loading module sources
5.11 Server-side materialization of query results
5.11.1 Post-export command
Chapter 6 The ConceptBase.cc Server
6.1 CBserver parameters
6.1.1 Updating the CBserver software
6.2 ConceptBase under Windows 10
6.3 Database format
6.4 Modifying the system database
6.5 Tracing and restarting
6.6 Public CBservers
6.7 The tabling subsystem
6.8 Database persistency
6.9 The UNTELL operation
6.9.1 Cascading UNTELL
6.10 Memory consumption and performance
6.11 The Java API to the CBserver
Chapter 7 The CBShell Utility
7.1 Syntax
7.2 Options
7.3 Commands
7.3.1 Rollback time for ASK
7.3.2 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 The workbench CBIva
8.1.1 The tool bar
8.1.2 The menu 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 The graph editor CBGraph
8.2.1 Overview
8.2.2 Starting CBGraph via CBIva
8.2.3 The
cbgraph
command
8.2.4 Redirecting the CBserver location
8.2.5 Moving objects
8.2.6 Menu bar
8.2.7 Tool bar
8.2.8 Popup menu
8.2.9 Editing of Telos objects
8.2.10 Caching of query results within CBGraph
8.2.11 Graph files
8.3 An example session with ConceptBase
8.3.1 Starting ConceptBase
8.3.2 Connecting CBIva to another 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 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 Graphical properties of nodes and links
C.3.2 Node levels
C.3.3 Click actions
C.3.4 Shapes
C.3.5 Icons
C.4 TelosPalette: A modern graphical palette for ConceptBase
C.5 Object-specific graphical properties
C.5.1 HTML node labels
C.6 Graphical types for derived links
C.7 Palette-specific methods to expand related objects
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 functions
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
References