Technical Requirements for a Graph Editor
Etienne Saliez, version 2023-02-22 /
- Introduction:
- A generic knowledge graph editor could not yet be found, at
lest for projects like:
- Healthcare organizations,
- AIMIG, "Assisted Intelligence in Medicine using
Interactive Graphs", http://www.aimig.org/ .
where both medical knowledge and patient record information
should be structured as visual graphs.
- Objectives:
- Creation and maintenance of knowledge bases by domain
experts.
- Approaches:
- The essential question is the communication between 2
stakeholders:
- ( A ) Humans:
Based on neurons and synapses, humans are in fact a kind of
large graphs. Indeed we can associate a concepts with many
other concepts.
Human can quickly understand a complex situations when
looking at a visual graph on a large screen. Human can even
draw graphs.
- ( B ) Computers:
Machine logic works best on basis of graphs, but have
difficult to understand spoken messages. Concepts and
relationships between may have quantified attributes as
weight, uncertainty, etc...
The computer logic can easily be converted to a visual
graph, with clues as color, shape, size, thickness, etc...
- This experimental project is intended to explore how far
understanding, let say synchronization, between humans and
machines could be achieved by means of visual graphs.
A kind of short cut trying to bypass many difficult challenges
of traditional syntax of sentences in various cultural
contexts.
- Of course when possible import knowledge from available
databases in other formats. However reviews by experts and
maintenance will always remain necessary. These experts need a
graph editor.
- Visual representation: of attributes of nodes and edges, like:
- Visual representation of concepts, i.e. nodes, and of their
relations, i.e. edges. Visual presentations of their
attributes by means of color, shape, size, etc...
- Typical examples:
- Selected view:
- Selection of a few element in the graph. For example only
the symptoms of the COVID.
- Synchronization between human conscientiousness and a
selection in the computer graphs. Indeed in both cases only a
small subset of information can be managed at the same time.
- Current active object:
- One object, node or edge, may have the focus. This
must be easily visible, typically by means of a halo.
- Actions on an object:
- Introduction:
- Starting from the current object several actions should be
possible.
- Here a kind of small menu relevant to the current object:
- This could appear as a ring around the current node like
in the standard Neo4j browser or a colored ring in the
Popoto system.
- The few most frequent commands in one click from this
ring, but the latest command could present a kind of drop
down menu for other less frequent commands.
- A relatively large screen or a double screen are
recommended in order to be able to see at the same time the
graph and the content of some document.
- Quick view of the summary of the content:
- By means of a temporary fly-over.
- Navigation to related nodes of a node:
- May be by means of double click.
- View temporarily the content of an object:
- On a frame on the side of the screen.
- Edit the properties of an object:
- The same as above but with the possibility to edit the
content of the object.
- In edit mode the view is persistent and can be closed by a
"Save" or an "Cancel" button.
- A node may contain any kind of label-values pairs. Here
the value may contain any kind of information. Even
large document or link to an external document. For example
even discharge letters, radiology images, ... since every
details cannot be broken into graphs. Most important
field of generic importance:
- Type of node or relation:
- Date and time:
- Responsible author:
- Specific content:
- Likelihood:
- Intensity:
- ...
- Creation of a relation to an other node with 2 options:
- Origin:
- Drag from the halo of current node (like in
"arrows.app")
- Destination:
- Either drop on an already existing node.
- or create a new node in an empty space (like in
"arrows.app")
- The initial content of the relation must be edited, at
least the type of relation.
- Example: "Arrows.app", https://neo4j.com/labs/arrows/
(currently not good working on Firefox but well on Chromium
browser). However this excellent example of human interface
do not yet allow to update a regular Neo4j database.
- Creation of a new node, with 2 options:
- Either by a relation dropped on an empty space:
- or directly by means of a click in an empty space.
- The initial content of the node must be edited, at least
the type of node and a few more as the name, etc...
- Information processing:
- It should become possible to associate some
functionalities to a knowledge base.
- Event based architecture. Some events should trigger other
events in the graph. Particularly allowing evaluations
of likelihoods and decision support. This in
function of the weight of the relations with other concepts.
- This mean the possibility to attach some code to nodes and
even to edges, in function of their local attributes. This
by means of some code inside nodes or calls to external
functions.
- Deprecation:
- For legal reasons immediate delete are never allowed, but
only deprecation.
- The object is no more visible by default, but remain
available on a specific demand for the history.
- ..