Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

TRIADB: Associative Semiotic Hypergraph Database Framework

DZone's Guide to

TRIADB: Associative Semiotic Hypergraph Database Framework

Learn about TRIADB, an add-on middleware a closely coupled with the physical layer of a data store and a generic command line interface close to the application layer.

Free Resource

Compliant Database DevOps and the role of DevSecOps DevOps is becoming the new normal in application development, and DevSecOps is now entering the picture. By balancing the desire to release code faster with the need for the same code to be secure, it addresses increasing demands for data privacy. But what about the database? How can databases be included in both DevOps and DevSecOps? What additional measures should be considered to achieve truly compliant database DevOps? This whitepaper provides a valuable insight. Get the whitepaper

TRIADB is a multi-perspective database framework based on unique and valuable, associative, semiotic, hypergraph technology and implemented on top of popular DBMSs. It is an add-on middleware with two parts: one part closely coupled with the physical layer of a data store and another more generic command line interface, closer to the application layer.

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 easily perform 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, and hypergraph technology pioneered by Dr. Athanassios I. Hatzis, the founder of HEALIS.

Architectural Design

In terms of the architectural design, TRIADB is based on the R3DM/S3DM Associative Data Model. Foundational principles, theoretical formalization, and ontological dimensions of the framework and the data model date 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, the Sentences associative data model, the Topic Maps data model, and the correlation database model. The main difference between R3DM/S3DM technology from other similar associative technologies is that it has a solid theoretical background, a unified data modeling architecture, and is distinct in its design and implementation.

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: 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 2,000 lines of code in Python and another 3,000 lines of code in Cache ObjectScript.

Demonstration

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 on the HEALIS YouTube channel. We demonstrate the Python client API; the functional, interactive user interface of the TRIADB system with commands to add models, resources, and records; queries to retrieve data; and hypergraph traversal operations. You can start watching the last video of this series to get an overall impression of TRIADB use.

Screen Captures

The first two images of our collection portray a hypergraph 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, nodes are shown with 2D numerical references. Images are aligned so that you can switch back and forth with the left and right arrow keys.
The third image shows the execution of TRIADB Python commands on a Jupyter notebook. This is a traversal query that fetches the tuples that make the neighborhood 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.

Conference Presentations

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:

  1. Multi-perspective database framework: Tuples, domain sets, objects, hypergraph, hierarchical.
  2. Act both as an operational and data warehouse database with a 360-degree view.
  3. Automatic fixed, primary indexing schema instead of user-defined secondary indexing.
  4. Manage the references instead of data: a relational and reference DBMS with fixed composite indexing.
  5. No duplicates: A single value instance based on system defined primitive data types.
  6. Consolidation of multiple data resources and mapping on user-defined data models.
  7. Management of data resources, data models, and metadata.
  8. Developer-friendly and easily programmable thanks to powerful functional commands in Python.
  9. Functional operations with standard parameters: both declarative and imperative query mechanisms.

Business Strategy

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, and 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 of scaling, availability, and performance, we scale together with our vendor, and 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 the developer community's consensus on the use of it and we strongly believe that TRIADB framework will be eventually adopted by major semantic and database technology players in the IT industry.

We embrace competition from full-stack BI software, from semantic technology platforms, or from other combinations of a search engine with back-end and front-end. We are not limited to the options we have. We will prove in practice with benchmark tests and with the level of complexity that we are able to provide better solutions to our customers.

Next Milestone

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.

Acknowledgment

We would like to thank Intersystems Cache for providing us with a license of Caché DBMS to test TRIADB.

Compliant Database DevOps and the role of DevSecOps DevOps is becoming the new normal in application development, and DevSecOps is now entering the picture. By balancing the desire to release code faster with the need for the same code to be secure, it addresses increasing demands for data privacy. But what about the database? How can databases be included in both DevOps and DevSecOps? What additional measures should be considered to achieve truly compliant database DevOps? This whitepaper provides a valuable insight. Get the whitepaper

Topics:
data modeling ,database ,hypergraph ,triadb ,architecture ,database framework ,nosql ,sql

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}