At A Glance
TRIADB is an innovative, multi-perspective database framework. It is a middleware that sits on top of suitable NoSQL/SQL data stores and enables them to perform easily integration, correlation, aggregation and hypergraph exploration of multiple data resources. With TRIADB you can turn a simple key-value store to a multi-model database or enhance the existing functionality of a graph database. TRIADB is founded on the principles of R3DM/S3DM associative, semiotic, hypergraph technology pioneered by Dr. Athanassios I. Hatzis the founder of HEALIS.
In terms of the architectural design TRIADB is based on R3DM/S3DM Associative Data Model. Foundational principles, theoretical formalization and ontological dimensions of the framework and the data model are dating back to the year 2012. R3DM/S3DM is a multi-perspective associative data model that shares certain similarities with Qlik associative technology, AtomicDB and X10SYS associative technology, Sentences associative data model, Topic Maps data model and correlation database model. The main difference of R3DM/S3DM technology from other similar associative technologies is that it has a solid theoretical background, a unified data modeling architecture and at the same time it is distinct in its design and implementation.
Currently there are two TRIADB prototypes implemented, one for OrientDB with Mathematica and another on top of Intersystems Cache with Python and Jupyter. TRIADB comes in two parts. There is the engine part that is closely coupled with the DBMS and the command-line interface that is closer to the application layer.
In the current release there are 19 Cache ObjectScript classes that implement associative, semiotic, hypergraph operations and there are four modules in Python with a total of 13 classes that implement the database framework at a higher level. We used several open-source libraries for displaying tables (pandas), for drawing hypergraphs (networkx, pydot, graphviz, visjs) and we developed our own Cache-Python object manager. There are approximately 2000 lines of code in Python and another 3000 lines of code in Cache ObjectScript.
Based on the current implementation of TRIADB, we prepared a series of video screen capture recordings from a live test of our system on a small set of data. There are five videos in this playlist of HEALIS youtube channel. We demonstrate the python client API functional, interactive user interface of TRIADB system with commands to add models, resources and records, queries to retrieve data, or hypergraph traversal operations. You may start watching the last video of this series to get an overall impression of TRIADB use.
The first two images of our collection portray a hypegraph of seven records, two on the left (Parts), three in the center (Catalog Entries) and another two on the right (Suppliers). The main difference is that in the first one nodes are shown with values and in the second one with 2D numerical references. Images are aligned so you can switch back and forth with the left and right arrow keys.
The third image shows execution of TRIADB Python commands on a Jupyter notebook. This is a traversal query that fetches the tuples that make the neighbourhood of the two parts that we saw in the first two images.
In the fourth image two records are drawn, they have common values for the weight and the name of the part. There is a red (partID=993) and a silver (partID=994) Acme Widget Washer but they do not share a common unit for the weight. This cleansing problem is solved in the fifth image where the two parts share three common values.
The sixth image visualizes the bipartite mapping solution. The fields on the left are mapped onto attributes on the right and the pandas 2D frame in the seventh image presents their names and key references.
Finally the last two images display a hypergraph data model for movies and a movie instance with many participants. Again you can switch back and forth with the left and right arrow keys.
- 16/11/2017 - Connected Data London Conference
- 19/06/2017 - European Wolfram Technology Conference in Amsterdam
Key Differentiating Factors
The following is a list of technical features that are present in the current design and implementation of TRIADB. This same list is what makes TRIADB a unique and valuable software product:
- Multi-Perspective Database Framework: tuples, domain sets, objects, hypergraph, hierarchical
- Act both as an operational and data warehouse database with a 360 degree view
- Automatic fixed, primary indexing schema instead of user-defined secondary indexing
- Manage the references instead of data: a relational and reference DBMS with fixed composite indexing
- No duplicates: single value instance based on system defined primitive data types
- Consolidation of multiple data resources and mapping on user-defined data models
- Management of data resources, data models and metadata
- Developer friendly and easily programmable: thanks to powerful functional commands in Python
- Functional operations with standard parameters: both declarative and imperative query mechanisms
We create strong partnerships with database vendors to implement and fine-tune TRIADB on top of their technology stack. We offer consulting services on how to apply Associative, Semiotic, Hypergraph technology and depending on the kind of contract with them we may also do business as a value-added reseller. We are not selling licenses or software, we provide full stack solutions and add-on value for our own clients, or for the clients of our vendors. And speaking about scaling, availability and performance, we scale together with our vendor, we inherit the performance, availability and TCO of our vendor.
Part of our business plan is to open-source our associative, semiotic, hypergraph technology. We are seeking for developer’s community consensus on the use of it and we strongly believe that TRIADB framework will be eventually adapted by major semantic and database technology players in the IT industry.
We embrace competition from full stack BI software, or from semantic technology platforms, or from other combinations of a search engine with back-end and front-end. We are not limited in the options we have. We will prove in practise, with benchmark tests and with the level of complexity that we are able to provide better solutions to our customers.
We are aiming to reach TRIADB minimum viable product with one or more pilot studies that will be based on real client problems and at the same time we will make our next release available to download and test for free. Stay tuned.
We would like to thank Intersystems Cache for providing us with a license of Caché DBMS to test TRIADB.
© HEALIS - Athanassios I. Hatzis, March 2018