In a Nutshell

CoGui in few words.

In a Nutshell

Cogui is a visual tool for building conceptual graph knowledge bases (KB). It allows to create a KB, to edit its structure and content, and to control it. Imports and exports from and to RDFS, OWL and Datalog+ are also provided. Wizards allow to analyze and check facts with respect to some constraints, as well as to query them while taking into account inferences enabled by the ontology. What's in a knowledge base A KB is composed of an ontology and a set of conceptual graphs representing assertions, called facts. The basic component of the ontology is the vocabulary, which consists of:

  • a hierarchy of concept types (also called concepts), which represent the kinds of entities in the application domain; it is possible to express that some types are disjoint (we say that their conjunction is banned);
  • a hierarchy of relation types (also called relations), which represent the kinds of relationships between entities, and may have any number of arguments;

A hierarchy can be any partial order and not necessarily a tree (i.e., multi-inheritance is allowed). More about the vocabulary in the user guide The other components of the ontology are:

  • a set of rules of form if graph then graph, which represent general domain knowledge and allow to enrich facts with inferred information;
  • a set of constraints also encoded as graphs, which represent forbidden or mandatory factual information;
  • a set of individuals (or individual names)

A simple conceptual graph is composed of two kinds of nodes, concept nodes and relation nodes. A concept node represents an entity and a relation node represents a relationship between entities (which are its neighbors in the graph). The neighbors of a relation node are totally ordered and this ordering is indicated by numbers on edges incident to the relation node (or by arrows if there is no ambiguity). Some notable properties: a concept node can be labelled by a list of concept types (called a conjunctive type), that is to say multi-instantiation is allowed; two concept nodes can be related by a coreference link, which indicates that these nodes represent the same entity.