Ben Humphries
19 May 2021
less than a minute read
At Relational AI, we have built Rel. A declarative relational language designed for building sophisticated data applications that use machine learning and artificial intelligence.
Why a new language?
Engage with the business, the language enables the business SME and developer to work closely and create “executable specifications”.
Explainable, the concise expressive declarative code is easy to read and understand by all.
Enabling richer functionality with more automation, improved scalability and robustness with business model transparency.
Efficient, enabling you do more with less. We have seen with our clients first hand that a few lines of Rel can replace many lines of legacy code.
With reduced development, maintenance and upgrade costs.
Accelerating time to market of data applications.
What is it?
One of the strengths of declarative programming is its ability to describe problems more briefly and succinctly than imperative languages.
Legacy imperative programming languages require complex step-by-step instructions detailing “How” a program should execute.
Declarative programming with Rel allows us instead to state “What” we want succinctly
Emergent — high-order capabilities naturally arise from more the elementary ones
Complete — there are no dead ends you will not get stuck and have to resort to another language
Rel represents the refinement of decades of theoretical work and practical experience into a language that is . . .
Elemental — the core constructs of relational algebra
Composable — the results of a query are themselves queryable
There is a library of pre-built higher-level abstractions (functions) on the core constructs
This brings us back to the question of Why Rel?
The language enables the business SME and developer to work closely and create “executable specifications”
Concise expressive declarative code is easy to read and understand by all.
Do more with less - with our clients we have shown that a few lines of Rel can replace many lines of legacy code, depending upon the legacy language you are leaving this can be anywhere from a 50% reduction to a 500% reduction or more!
Semantic Optimization makes your complex data workloads more efficient, which in turn improves overall system performance and scalability.
Read MoreDovetail Join is a WCOJ (Worst Case Optimal Join) algorithm, meaning we can mathematically prove that the more complicated the problem is, the faster we will go.
Read MoreThis demo is called the “Knowledge Graph to Learn Knowledge Graphs”, or KGLKG. It parallels the authors own journey from programming in imperative languages like Java, C++, and Python to RAI's declarative language, Rel. For many years, I used those legacy languages plus SQL in an application-centric database-oriented way of solving business problems. But today I am using Rel and a data-centric business modeling approach to creating business solutions.
Read More