Conceptual to Logical with Polyglot relationships
Data modeling is not about rigid layers or debating where conceptual ends and logical begins. In real projects, what matters is clarity, collaboration, and the ability to move forward with a shared understanding.
In Hackolade Studio, Polyglot models are designed with this pragmatic mindset. Rather than enforcing strict boundaries between conceptual, logical, and physical modeling, Polyglot provides a flexible modeling space that can serve different purposes, depending on your context and objectives.
Conceptual modeling is key to agree on scope and concepts, and to establish a shared language of business terms and definitions. By focusing on common terminology, it helps to prevent misunderstandings and it sets the foundation for clear communication, especially in large or cross-functional teams. Using Ubiquitous Language principles, this level aligns stakeholders before diving into technical details.
Logical modeling defines a neutral, unified data structure that transcends specific technologies, to capture the business rules necessary to ensure the integrity of the data. It serves as a blueprint for creating various physical models.
Physical modeling customizes the design for the technical specifics of each platform (e.g., relational databases, NoSQL, Graph databases, APIs, Big Data). This model ensures that the design works within the constraints of the chosen technology and optimizes implementation. Hackolade Studio supports more than 40 physical targets, allowing for tailored models that fit your specific platform.
Our Polyglot model provides a flexible way to move between these different phases, leaving it up to each organization to decide where emphasis should be placed.
Model relationships with purpose
Relationships in Polyglot follow the same philosophy. They are designed to help you express meaning and structure first, without being constrained too early by implementation details such as foreign key constraints, join tables, or platform-specific rules. We make it easy to discuss concepts with business users, who might not be familiar with the technical aspects of data modeling, so as to focus on facts.
When starting from a blank canvas, you may only know that certain concepts are connected. At this stage, the goal is not to decide how these relationships will be implemented in a relational database, a graph, or an API. The goal is to make relationships explicit, understandable, and shared across stakeholders.
As the model evolves, relationships can be progressively enriched with additional information such as direction, cardinality, or roles. Polyglot allows this gradual refinement, supporting both high-level conceptual discussions and more detailed logical designs within the same model.
In the following sections, we walk through a simple order management use case, starting from a very high-level conceptual view and progressively refining relationships. Each step illustrates both the underlying concepts and how they are represented in the Hackolade Studio user interface.
The objective is not to prescribe a single “correct” way to model relationships, but to show how Polyglot gives you the freedom to model at the right level, at the right time, with purpose.
To illustrate how relationships are created and refined in a Polyglot model, we will use a simple order management use case.
This example is intentionally simplified. It does not aim to represent a complete or realistic production system, but rather to focus on the modeling approach and the underlying reasoning. The objective is to demonstrate how relationships can be expressed progressively, starting from a high-level conceptual view.
Identify the core concepts
At the very beginning of the modeling process, a few key concepts have been identified:
- Customer
- Order
- Product
At this stage, no assumptions are made about attributes, cardinalities, implementation details, or target technologies.
The model starts as a blank canvas with three entities representing the main business concepts involved in an order management system.

From this initial state, we will progressively define and refine the relationships between these entities, moving from a very conceptual representation toward a more structured and explicit model.<br>
Create your first relationship: Customer and Order
The first relationship we introduce reflects a simple and widely understood business fact:
A Customer places an Order.
Create the relationship from the Graph Diagram view
The most natural way to express this relationship between 2 entities is directly from the Graph Diagram view, which is well suited for early conceptual modeling. This view is accessible from the main modeling area using the tabs located at the bottom of the screen.

In this view, each entity is represented as a node. To create the relationship:
- move the mouse over the Customer node;
- on hover, click the link icon displayed in the top-right corner of the node;
- the cursor switches to relationship creation mode (plus icon);
- click the Order node to complete the relationship.

A relationship is immediately created between Customer and Order and becomes visible in the Graph Diagram View. Right after creation, the relationship is automatically focused and highlighted in the model’s Relationships tab, and its details are shown in the Properties pane.
At this stage, the relationship only expresses that the two entities are linked. No direction, cardinality, or structural constraint has been defined yet. The intent is purely semantic: making the existence of a relationship explicit, without going beyond what is known at this point.

Create a relationship from the Properties Pane
To illustrate the alternative creation method, we now create the relationship between Order and Product directly from the Properties Pane.
In the model’s Relationships tab, click the plus button to add a new relationship. A new relationship entry is created and automatically focused. At this point, the relationship is intentionally empty: no entities are linked yet. The source and target entities can be selected using the drop-down lists.
