All Resources

R-67

Technology

Tessera DB Tutorial: Build Your First Hyperedge in 5 Minutes

Start the binary, load a sample dataset from the admin dashboard, and watch the same records appear across the relational, graph, vector, full-text, and time-series dimensions — one copy of the data, five ways to query it.

PAR2 Labs

August 29, 2026

7 min

Tessera DB Tutorial: Build Your First Hyperedge in 5 Minutes

This is the absolute starting point. We'll get Tessera running locally, load a small dataset through the admin dashboard, and then look at how the same records show up in the relational, graph, vector, full-text, and time-series dimensions — without copying anything anywhere.

01

Before you start

Prerequisites

01

Tessera ships as a single self-contained binary — no JVM, no separate install. Download the Community build for your platform and put it somewhere on your path. That's all you need for this tutorial.

02

Step 1: Start the server

Launch the binary, pointing it at an empty folder for its data. It starts in seconds and prints the address of the bundled admin dashboard to the log.

bash

tessera serve ./my-data

03

Step 1: Start the server — what the log shows

You'll see log lines confirming the engine has loaded with zero hyperedges. That's expected — the store is empty.

04

Step 2: Open the admin dashboard

In your browser, open the dashboard URL the server printed at startup. You'll land on the overview with everything at zero. Click Data Sources in the left sidebar — that's where ingestion lives.

05

Step 3: Load the sample dataset

At the top of the Data Sources panel is a card that seeds a small social-network dataset — people, posts, follows, comments — into all five dimensions at once. Click Load Sample Data.

A confirmation slides out telling you the sample was loaded and indexed across the five dimensions. Below it, buttons let you jump straight into each dimensional view.

One write, five indexes, zero ETL.

06

Step 4: See the same data five ways

Open each view in turn and notice you're always looking at the same records:

Relational — tabular rows; try SELECT * FROM Person LIMIT 10.

Graph — an interactive node-and-edge visualisation with the follow network laid out by force.

Vector — paste any text; Tessera returns the most semantically similar entities from the same data.

Full-text — keyword search over the same records, with matched terms highlighted.

Time-series — the same records placed on their bitemporal time axis.

07

Step 4: See the same data five ways — one copy

Nothing was duplicated. One copy of the data feeds every view.

08

Step 5: Add a fact of your own

Now add a record yourself. In the Data Sources panel, use the import option to bring in a tiny file of your own — say, a few money transfers. When you import, you choose which columns are connections (endpoints) and which are plain properties. Mark the sender and receiver columns as endpoints so each transfer becomes a real graph fact, and leave amount, currency, and memo as properties.

Refresh the overview. The hyperedge count ticks up beyond the sample dataset. Your new transfers are indexed in every dimension at once — including the vector index, because any text property (like the memo) is embedded the moment the row lands, provided you've configured an embedding provider.

09

Step 6: Query it two different ways

From the query editor, ask for the same fact in two languages:

sql

-- Relational
SELECT sender, receiver, amount FROM Transfer WHERE amount > 100;

cypher

// Graph pattern
MATCH (a)-[r:Transfer]->(b) WHERE r.amount > 100 RETURN a, r, b

10

Step 6: Query it two different ways — the result

Both return the same hyperedge. The full-text dimension picked up words in the memo automatically; the time-series dimension stamped both its valid time and transaction time. (Tessera also has a native query language, TQL, for the same data — pick whichever fits the question.)

11

What just happened

One write, five indexes, zero ETL. That's the core promise of Tessera. Loading a dataset, importing your own, and running a query from the editor are the three pieces of muscle memory you'll use most. Everything else builds on top.

If you can do this loop in five minutes — load data, inspect it across dimensions, write a query — you have the mental model. The rest is depth.

Key Takeaways

01

Started Tessera as a single binary and opened the bundled admin dashboard.

02

Loaded the sample social-network dataset and seen the same records in the relational, graph, vector, full-text and time-series views.

03

Imported transfers of your own, marking sender and receiver as endpoints so each one becomes a graph fact.

04

Queried the same hyperedge in SQL and in Cypher.


PAR2 Labs · Technology

Work With Us

Have a problem worth solving?