Dynamic Ontology coming to Visallo 4.0

Despite its fancy sounding name, an ontology is nothing more than a formal model describing things, their properties, and the relationships between them. Ontologies are defined to represent some subset of the real world that we’re interested in. For example, a police department may use an ontology that defines suspects, crimes, convicts, and arrests while a credit agency would define applicants, loans, and purchases. Although they sound simple, ontologies can also be incredibly complex.

Ontologies in the Real World

Ontologies are widely used in software systems, even if you aren’t aware of them, yet they remain difficult to “get right”. A highly-specific ontology with a comprehensive set of entities, properties, and relationships will define a model very precisely, but is difficult to adapt to new concepts when needed. Conversely, a highly-generic ontology can be more easily adapted, but often lacks the specificity necessary to reliably and usefully categorize things.

Despite helping numerous customers develop ontologies specific to their business, we’ve never “gotten it right”. That’s because it’s not possible to create a perfect ontology. It’s always going to change. Different people will want to model things differently, concepts will need to evolve as industries progress, and the needs of the business will change. The only constant is change.

Dynamic Ontology to the Rescue

A well-defined ontology is critical to the Visallo platform – it’s used throughout the product and drives much of its functionality. While it’s always been possible to change the ontology used by Visallo, doing so required administrative access and some coding skills. With the 4.0 release of Visallo, end users with the proper privilege will be able to make additions to the ontology on the fly directly through user interface. Supported ontology changes include:

  1. Adding new entities, properties, and relationships.
  2. Changing entity, property, and relationship labels.
  3. Editing entity, property, and relationship display formulas.
  4. Changing entity and relationship icons.

Below is one examples of how end users can add new entities to Visallo.

Adding a new entity type is a simple as typing the new name you want to create and clicking Create. In the example below, we’re creating a new entity type called Charge for an example law enforcement ontology.

Once the new entity type is created, the user is presented with additional detailed options for the new type. The user can select a parent type that the new entity should inherit from, choose a color to display for the type, and also an icon to represent it.

Your Ontology is Protected

When we talk to customers about the dynamic ontology there’s always a subset with major concerns that their ontology will end up being a big mess if users are allowed to add to it at will. To ease their minds, we’ve put three major guards in place.

  1. All ontology changes are isolated to the case they’re made within until published.
  2. A privilege restricts which users are able to make changes to the ontology.
  3. A second privilege restricts which users are able to publish changes to the ontology.

With these guards in place, you can let the majority of users adapt the ontology to their needs on the fly while placing the responsibility of publishing those changes to a smaller subset of trusted users.

We’re really excited about the new dynamic ontology capabilities in Visallo 4.0. Giving users the power to rapidly adapt Visallo to their needs without waiting for approvals from lengthy governance processes will be a huge boost to productivity.