Knowledge Graphs and DARL (Beta)

AI models perform mappings between one set of data and another. In order to make sense of the real world you need much more than that

Since the time of Aristotle, it's been known that the world is best represented as objects with attributes and relationships.

Modern graph databases make this possible, but more is needed. Specifically if we need to hold objects and relationships of different kinds we need an ontology to keep track of them.

Furthermore we need rules to determine how objects can be associated, which relationships are permitted for particular pairs of objects, and which attributes can go with each object.

Clearly, with DARL, an ontology and a graph database we have all the elements needed.

Our NLP offerings use WordNet as the source for the ontology, and this carries through to our knowledge graphs.

Using our GraphQL API at you can create and interrogate graph databases and connect them to rule sets and chatbots.

An example Knowledge graph

A customer asked us to create a chatbot* that illustrated the relationships between various far-left groups in the UK.

Try typing "what is momentum?", or "how are Jeremy Corbyn and Momentum connected?"

*We are not responsible for the accuracy of the information contained in this ChatBot.

Dramatically Simplifying ChatBot creation

Using knowledge graphs you can make the chatbot processing concerned only with the process of interpretation, not the delivery of results. This dramatically decreases the complexity of the chatbot. In the example above this reduction was from 7000 nodes, when the information was completely encoded into the bot, to 28 nodes (shown opposite) to perform the same tasks.

This also makes the required DARL rulesets much simpler. For instance, the following DARL rulesets support questions of the form "How are X and Y connected"

output textual val1;
output textual val2;
if anything then val1 will be Value["value:text","0"];
if anything then val2 will be Value["value:text","1"];
if anything then response will be Graph["path",val1,val2,"noun:","noun:"];

Read more about DARL and knowledge graphs here.

Get API details at docs.