Welcome to KML & VRB Project Page!

What is KML & VRB?

KML is an abbreviation of Knowledge Markup Language. First it was actually an XML-based language that was intended to share imperative and declarative knowledge among humans and, possibly, machines.

The main idea of this language is to propose a syntax the information and meta-information can be written with. Such meta-transition forces the usage of semantically-closed statement-based language similar to Natural Language.

For now, KML has already grown to a big set of technologies renamed to VRB (abbreviation of Verbal Rule Blocks) that includes: shared model storage, event-based inference engine and even a nice (but commercial) modeler GUI.

What is VRB for?

There is a number of ways the VRB can be used:

VRB Information Model

Information in VRB is represented as an unordered (basically) set of Statements. Each Statement is a tuple of four words, called Nodes. Each node can represent an object identifier or a literal value and has an unique role in the Statement depending on its place. The roles of Nodes are: Context, Predicate, Subject, Object. The Statement also has the Truth modifier to distinguish true and false statements. So the Statement is semantically close to natural language sentence. Four-tuple Statements also called Quadruplets.

The main thesis of VRB Information Model: all information expressible in verbal form can be represented as a set of Quadruplets.

Information processing (as a part of intensional knowledge representation) is done by an inference engine which consumes rules described in Quadruplets as well as hard-coded rules.

VRB Stack

VRB is a stack of technologies which deliver an ability to store, share, manipulate and even invoke imperative (intensional) knowledge.

VRB stack includes:


The latest stable source releases (VRB library, OLS, Python and Perl bindings):


Developer documentation:

User documentation:


For successful compilation you should have (mandatory):

  1. CUnit library for testing (optional since 0.3.1 version)

  2. Tcl scripting language (optional since 0.3.1 version)

  3. Python scripting language

  4. Perl scripting language

  5. Perl::Template library.

Compilation and Installation

Microsoft VisualStudio, version >= 7.0:

  1. unzip vrb-ols-xx.yy.zz.zip in you favorite folder.

  2. open solution file vrb-ols-xx.yy.zz\src\win\modelstorage.sln

  3. Open MSTest Project properties window.

  4. Change the path of CUnit package in Additional Include Directories and Additional Library Directories where it was installed in.

  5. Build solution. The result files will appear in vrb-ols-xx.yy.zz\build_win folder

Linux and other Unixes:

  1. install CUnit package, Tcl, python and perl languages first.

  2. tar -xzvf vrb-ols-xx.yy.zz.tar.gz

  3. cd vrb-ols-xx.yy.zz

  4. ./configure

  5. make

  6. sudo make install


Run mstest executable in vrb-ols-xx.yy.zz/tests directory (Unix) or vrb-ols-xx.yy.zz\build_win (Windows).



SourceForge.net Logo
Copyright © 2006 OrgWay LLC.