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

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-data03
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, b10
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