top of page

Graph Languages

Conceptually, a graph language uses patterns in a graph to express information. One can imagine that vertices are its letters, patterns are its words and regions in the graph are sentences. A graph language can be compared to a complex, generic ontology.

A semantic graph language is a graph language that additionally uses semantic identifiers to root information in the real world. The term “graph language” is normally used when referring to “semantic graph language”. Otherwise, the term “non-semantic graph language” is used.

A graph language can consist of multiple components:

  • Ontologies: Define the meaning of semantic identifiers.

  • Grammars: Define how patterns in the graph are to be interpreted.

  • Interpreter: An algorithm or a software that interprets source data according to the ontologies and grammars; typically, also considering outside parameters like context, environmental properties and user requests. The input for the interpreter is some form of a graph, in the case of Havel it is universal data.

  • Runtime environment: An algorithm, software or service able to execute processing instructions expressed using the graph language.

Information is “expressed” in graph languages and “modelling” refers to the process of expressing information.

Figure [if supportFields]><font size=2 face="Calibri Light"><span style='font-size:10.5pt;line-height:125%; font-family:"Calibri Light",sans-serif;mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast; mso-hansi-theme-font:minor-latin;mso-bidi-font-family:Mangal;mso-bidi-theme-font: minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language: AR-SA'><span style='mso-element:field-begin'></span><span style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC <span style='mso-element: field-separator'></span></span></font><![endif]1[if supportFields]><font size=2 face="Calibri Light"><span style='font-size:10.5pt;line-height:125%; font-family:"Calibri Light",sans-serif;mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast; mso-hansi-theme-font:minor-latin;mso-bidi-font-family:Mangal;mso-bidi-theme-font: minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language: AR-SA'><span style='mso-element:field-end'></span></span></font><![endif]: High-level, modular view of components that make up a graph language

Graph languages should not be compared to traditional computer languages like C++ or Java. A graph language is more akin to a CPUs instruction set architecture (ISA). The graph language is the expressive potential of its interpreter; it is the instruction set its interpreter can understand. Graph languages are like a superordinate, semantic instruction set for computers. They add a semantic level of abstraction between user and hardware, fundamentally changing how digital information is expressed and processed.

To write processor instructions (a.k.a. programming) we usually use programming languages like C++ or Java and a compiler that translates these sources into processor instructions. The same applies to graph languages: Information is created using so-called modelling languages and a compiler transforms them into raw graph sources. Another – probably more popular – possibility is to use a graphical user interface that assist in creating graph language expressions.

The power of graph languages lies in their potential expressiveness. Graphs are the most flexible data model we know, any information can be expressed using a graphs (it is mainly a question of reason, some information would use too much resources when expressed as a graph, e.g. an image). Recurrent patterns in the graph represent grammatical rules and concepts, which can be infinitely encapsulated and chained in order to express every single little detail and beyond. Graphs can grow chaotically and can be multi-dimensional; using graph languages, these fantastic features can become a part of our digital information and communications.

Semantic graph languages go a step further by rooting information in the real world; one can say they create a semantic connection between computers and humans. To a certain degree, computers understand semantic information, which allows them to deal with the information in an apparently more intelligent way. We are careful here not to say that they become more intelligent because they do not, at least not from this fact alone. They can become better, much more flexible tools that will allow us to perform our daily task more efficient and will ultimately help us to better understand and process complex information.


 

Continue reading: Havel


Comments


RSS Feed

Categories

Recent Posts

bottom of page