ITA Controlled English (CE)
Java JavaScript HTML Other
Clone or download

ITA Controlled English (CE)

Controlled English is a form of structured English that allows you to define models of concepts, their properities and relationships, that is both Human and machine readable.

The CE Store contains everything you need to get started with a Controlled English environment.

We are an IBM initiated open source organisation focused on providing an experimental research environment for the ITA Controlled English language.

Quick Example

A CE model contains all of the information about the data loaded into the CE Store. It is built from sentences which contain concepts and instances.

  • A sentence always ends with a full stop.
  • A concept defines a thing.
  • An instance is a single occurrence of that concept/thing.

An example of a sentence that defines a concept in CE is as follows:

conceptualise a ~ planet ~ P that has the value M as ~ mass ~ and has the value R as ~ radius ~.

We can then define an instance of a planet called 'Earth' using another CE sentence:

there is a planet named 'Earth' that has '5.972 × 10^24' as mass and has 6371 as radius.

For more detailed examples you can go to the Tutorials section of the wiki or watch a video for a detailed overview with examples (22 mins 48 seconds).

Quick Guide

Installation and Setup - Use CE in IBM Cloud

Deploy to IBM Cloud

An easy way to get started with Controlled English is through IBM Cloud. You can sign up to IBM Cloud for free, and once you've got an account, clicking the button above will automatically deploy a Cloud-hosted instance of your very own CE Store.

Important Note: After deployment to IBM Cloud you will find your ce-store running in http://(your IBM Cloud url)/ce-store/ rather than in the root of the IBM Cloud url. Therefore, to access the ce-store via the engineering panel you would navigate to http://(your IBM Cloud url)/ce-store/ui/

Installation and Setup - Run CE on your own machine

Clone the code

git clone

Using Apache Maven

Using Apache Maven, run the following command to start up the CE Store application using an embedded Tomcat server.

mvn install
mvn tomcat:run

The CE Store will be available at the following URL http://localhost:8080/ce-store

Using Docker

docker pull cestore/ce-store
docker run --rm -it -p 8080:8080 cestore/ce-store

Building With Docker

Use Apache Maven to build a WAR file for the project with the following command.

mvn package

This WAR file can be built into a Docker image with the command below.

docker build -t ce-store .

Then start the container from this image running locally.

docker run --rm -it -p 8080:8080 ce-store

The CE Store will be available at the following URL http://localhost:8080/ce-store

Using Vagrant

Requires Vagrant to be installed.

vagrant up
vagrant ssh
cd /vagrant

Then follow the steps in Using Apache Maven.


Engineering Panel

The Engineering Panel provides a simple web interface to the CE Store, enabling the user view the contents of the CE Store, to load new CE sentences, run queries agains the store, and more.

To open the Engineering Panel go to <SERVER>/ce-store/ui. It should look like this:

Engineering Panel

The engineering panel has four main areas:

  • [Left] Model operations: CE models can be loaded and modified.
  • [Right] Object pane: Contents of a CE store can be viewed.
  • [Bottom] Messages: Errors will be reported here
  • [Centre] Working area: Interactions with the model.

The CE Store comes with a sample set of CE sentences to build a model about medical data. The wiki includes a tutorial for using the Medicine model.


Read about contributing here.


Licensed under the Apache License, Version 2.0