Skip to content

Demo SETUP INSTRUCTIONS

github-actions[bot] edited this page Sep 4, 2026 · 7 revisions

Navigation: Home > Demo

ThemisDB Demo Data Setup

Automatische Generierung und Import von umfassenden Demo-Daten fΓΌr die Kickstarter-Video-Demo.

πŸš€ Quick Start (2 Minuten)

Schritt 1: Setup-Script ausfΓΌhren

cd C:\Projects\ThemisDB

# Stelle sicher, dass ThemisDB Server lΓ€uft
# (oder starte ihn in einem separaten Terminal)

# FΓΌhre das Setup-Script aus
.\demo\setup\setup_demo_data.ps1

Das Script wird automatisch:

  1. βœ… Demo-Daten generieren (Python-Script)
  2. βœ… 3 Collections erstellen (articles, embeddings, knowledge_graph)
  3. βœ… ~30 Demo-Records importieren
  4. βœ… Alles verifizieren

Schritt 2: Demo starten

.\demo\kickstarter_demo_script.ps1

πŸ“Š Generierte Demo-Daten

1. Document Collection (demo_articles)

13 Research Papers zu verschiedenen Themen:

Thema Anzahl Beispiele
AI & Deep Learning 4 ResNet, Vision Transformer, YOLO, Transformers
Quantum Computing 2 NISQ Algorithms, Quantum ML
Data Science 3 Time Series, Graph Neural Networks, Vector Databases
Databases 2 Multi-Model Architecture, Transactions
AI Security & Ethics 2 Adversarial Robustness, Ethical AI

Felder pro Artikel:

{
  "id": "doc_001",
  "title": "Deep Learning Architectures for Computer Vision",
  "author": "Dr. Alice Johnson",
  "category": "research",
  "published": "2024-03-15",
  "content": "This paper explores state-of-the-art...",
  "tags": ["AI", "deep-learning", "computer-vision"],
  "citation_count": 342
}

Demo-Query (Text Search):

FOR doc IN demo_articles
  FILTER doc.title LIKE '%AI%' OR doc.content LIKE '%machine learning%'
  SORT doc.published DESC
  LIMIT 5
  RETURN doc

2. Vector Collection (demo_embeddings)

13 Embeddings (128-dimensional vectors):

  • Ein Embedding pro Artikel
  • Mock-Vektoren (realistisch fΓΌr Demo-Zwecke)
  • Score zwischen 0.7-1.0 (Relevanz)
  • Tags fΓΌr jedes Embedding

Felder pro Embedding:

{
  "id": "vec_001",
  "doc_id": "doc_001",
  "title": "Deep Learning Architectures for Computer Vision",
  "author": "Dr. Alice Johnson",
  "embedding": [0.123, -0.456, 0.789, ...],
  "score": 0.95,
  "relevance_tags": ["AI", "deep-learning", "computer-vision"]
}

Demo-Query (Vector Search):

FOR vec IN demo_embeddings
  LET similarity = COSINE_SIMILARITY(vec.embedding, @query_embedding)
  FILTER similarity > 0.7
  SORT similarity DESC
  LIMIT 5
  RETURN { title: vec.title, similarity: similarity }

3. Graph Collection (demo_knowledge_graph)

Knowledge Graph mit 3 Datentypen:

Nodes (22 insgesamt)

  • 10 Researchers (Dr. Alice Johnson, Prof. Bob Chen, etc.)

    • Affiliation: MIT, Stanford, Berkeley, Oxford, Cambridge, etc.
    • Fields: Deep Learning, NLP, Quantum Computing, etc.
  • 7 Papers (Research papers zu verschiedenen Topics)

    • Years: 2024
    • Titles: Matching zu den Articles
  • 4 Conferences

    • NeurIPS 2024, ICML 2024, ICCV 2024, VLDB 2024
    • Locations worldwide

Edges (16 insgesamt)

  • wrote β€” Researcher hat Paper geschrieben
  • cites β€” Paper zitiert anderes Paper
  • collaborates_with β€” Forscher arbeiten zusammen
  • presented_at β€” Paper wurde auf Konferenz prΓ€sentiert

Demo-Query (Graph Traversal):

FOR researcher IN demo_knowledge_graph
  FILTER researcher.type == 'researcher'
  FOR paper IN 1..2 OUTBOUND researcher._id graph_edges
    FILTER paper.type == 'paper'
  RETURN {
    researcher: researcher.name,
    paper: paper.title
  }

πŸ”§ Setup Details

Requirements

  • Python 3.7+
  • themisctl gebaut (z. B. build-msvc-windows-release\bin\themisctl.exe)
  • ThemisDB Server lΓ€uft auf localhost:8765

Was das Setup-Script tut

1. generate_demo_data.py

python .\demo\setup\generate_demo_data.py

Erzeugt 4 JSONL-Dateien in demo/data/:

  • demo_articles.jsonl (13 Articles)
  • demo_embeddings.jsonl (13 Embeddings)
  • demo_knowledge_graph_nodes.jsonl (22 Nodes)
  • demo_knowledge_graph_edges.jsonl (16 Edges)
  • DATA_SUMMARY.md (Documentation)

2. setup_demo_data.ps1

.\demo\setup\setup_demo_data.ps1

FΓΌhrt aus:

  1. Python-Script aufrufen β†’ Dateien generieren
  2. Jede JSONL-Datei in themisctl importieren
  3. Alle Collections verifizieren

Ablage in der ThemisDB Demo-DB (wichtig)

Die Demo-Daten werden nicht nur als Dateien erzeugt, sondern per themisctl put in die laufende Demo-DB geschrieben.

  • Physischer DB-Pfad im Demo-Flow:
    • ./demo/data/themis_db (wenn der Server wie im Runbook mit --db .\\demo\\data\\themis_db gestartet wird)
  • PrimΓ€rschlΓΌssel-Schema pro Collection:
    • demo_articles:art_0001 ... art_0013
    • demo_embeddings:vec_0001 ...
    • demo_knowledge_graph:node_0001 ... und demo_knowledge_graph:edge_0001 ...
  • Payload-Schema beim Import:
    • Das Setup schreibt {"blob":"<jsonl-zeile-als-string>"}
    • Quelle: Import-JsonlViaPut in demo/setup/setup_demo_data.ps1

Beispiel (manuell inspizieren):

& .\build-msvc-windows-release\bin\themisctl.exe --host 127.0.0.1 --port 8765 get demo_articles:art_0001
& .\build-msvc-windows-release\bin\themisctl.exe --host 127.0.0.1 --port 8765 get demo_knowledge_graph:node_0001

πŸ“‹ Troubleshooting

"themisctl not found"

# Build themisctl zuerst
cmake --build --preset windows-release --target themisctl

# Dann Setup-Script nochmal laufen
.\demo\setup\setup_demo_data.ps1

"Server connection refused"

# In separatem Terminal: Server starten
$SERVER_EXE = ".\build-msvc-windows-release\bin\themis_server.exe"
& $SERVER_EXE --db .\demo\data\themis_db --port 8765 --allow-degraded-build --allow-stub-hsm

# Dann in anderem Terminal: Setup-Script laufen
.\demo\setup\setup_demo_data.ps1

"Collection already exists"

# Alte Collections lΓΆschen (falls gewΓΌnscht)
themisctl admin drop-collection demo_articles
themisctl admin drop-collection demo_embeddings
themisctl admin drop-collection demo_knowledge_graph

# Dann Setup nochmal laufen
.\demo\setup\setup_demo_data.ps1

"Import failed"

# PrΓΌfe ob JSONL-Dateien valide sind
Test-Path .\demo\data\demo_articles.jsonl

# Versuche manuellen Import
Get-Content .\demo\data\demo_articles.jsonl | themisctl batch-insert --collection demo_articles

πŸ“š Weitere Ressourcen


🎯 Use Cases für Video-Demo

Document Search (Minute 2-3)

FOR doc IN demo_articles
  FILTER doc.title LIKE '%AI%'
  RETURN { title: doc.title, author: doc.author, citations: doc.citation_count }

Voiceover: "Das ist Full-Text-Suche in Millionen von Artikeln..."

Vector Search (Minute 4-5)

FOR vec IN demo_embeddings
  LET sim = COSINE_SIMILARITY(vec.embedding, @query)
  FILTER sim > 0.7
  SORT sim DESC
  LIMIT 5
  RETURN { title: vec.title, score: ROUND(sim * 100, 1) }

Voiceover: "Semantische Suche - Bedeutung statt Keywords..."

Graph Traversal (Minute 6-7)

FOR researcher IN demo_knowledge_graph
  FILTER researcher.type == 'researcher'
  FOR paper IN 1 OUTBOUND researcher._id graph_edges
  RETURN { researcher: researcher.name, paper: paper.title }
LIMIT 8

Voiceover: "Graph-Navigation - Beziehungen zwischen Daten..."


βœ… Checkliste vor Video

  • Setup-Script erfolgreich ausgefΓΌhrt
  • Alle 3 Collections importiert
  • Queries aus DEMO_QUERIES.md funktionieren
  • Server lΓ€uft stabil (keine Crashes)
  • API-Spotcheck aus DEMO_QUERIES.md (Schema + Graph Explain) funktioniert
  • Terminal font ist groß genug fΓΌr Video

Fertig! Jetzt kannst du die Demo aufnehmen! 🎬


ThemisDB 1.9.0-beta Β· Home Β· Module-Index Β· GitHub Β· Issues

ThemisDB Wiki

🏠 Overview

πŸš€ Getting Started

πŸ“– Tutorials

πŸ“— User Guide

βš™οΈ Operations & Security

πŸ“Ÿ Ops Runbooks

πŸ—οΈ Architecture

πŸ“ ADRs

πŸ”§ Contributing

πŸ“‹ Governance

πŸ” Audit

🧩 Plugins

πŸ”Œ Adapters

πŸ’‘ Examples

πŸ“¦ Client SDKs

πŸŽ“ Training

πŸ› οΈ Tools

πŸ€– Developer LLM Wiki

Clone this wiki locally