Basic Examples¶
This page provides quick links to basic ArcadeDB examples to get you started.
Getting Started Examples¶
Document Store¶
Start with the simplest use case - storing and querying documents:
Example 01 - Simple Document Store
Learn how to:
- Create a database and document types
- Insert documents with various data types
- Query using SQL
- Handle NULL values
Graph Database¶
Build your first graph database with vertices and edges:
Example 02 - Social Network Graph
Learn how to:
- Create vertices and edges
- Use OpenCypher queries for graph traversal
- Traverse graph relationships efficiently
- Implement social network patterns
Quick Start Code¶
Opening a Database¶
import arcadedb_embedded as arcadedb
# Create a new database with context manager (auto-closes)
with arcadedb.create_database("./mydb") as db:
# Your operations here
pass
# Or open existing database
with arcadedb.open_database("./mydb") as db:
# Perform operations
pass
Basic Document Operations¶
import arcadedb_embedded as arcadedb
with arcadedb.create_database("./products_db") as db:
# Create document type (schema statements apply immediately)
db.command("sql", "CREATE DOCUMENT TYPE Product")
db.command("sql", "CREATE PROPERTY Product.name STRING")
db.command("sql", "CREATE PROPERTY Product.price DOUBLE")
db.command("sql", "CREATE PROPERTY Product.inStock BOOLEAN")
# Insert document
with db.transaction():
db.command(
"sql",
"INSERT INTO Product SET name = ?, price = ?, inStock = ?",
"Laptop",
999.99,
True,
)
# Query documents (reads don't need transaction)
results = db.query("sql", "SELECT FROM Product WHERE price < ?", 1000)
for record in results:
print(record.get("name"), record.get("price"))
Basic Graph Operations¶
import arcadedb_embedded as arcadedb
with arcadedb.create_database("./graph_db") as db:
# Create graph schema (schema statements apply immediately)
db.command("sql", "CREATE VERTEX TYPE Person")
db.command("sql", "CREATE EDGE TYPE Knows")
db.command("sql", "CREATE PROPERTY Person.name STRING")
# Create vertices and edges
with db.transaction():
db.command("sql", "INSERT INTO Person SET name = ?", "Alice")
db.command("sql", "INSERT INTO Person SET name = ?", "Bob")
db.command(
"sql",
"""
CREATE EDGE Knows
FROM (SELECT FROM Person WHERE name = ?)
TO (SELECT FROM Person WHERE name = ?)
""",
"Alice",
"Bob",
)
# Traverse graph (reads don't need transaction)
results = db.query("opencypher", """
MATCH (p:Person)-[:Knows]->(other:Person)
RETURN other.name as name
ORDER BY name
""")
for record in results:
print(record.get("name"))
More Examples¶
The Examples Overview lists all 26 examples, and the Dataset Downloader prepares the datasets the larger ones use.
Source Code¶
All example source code is available in the examples/ directory of the repository.
Additional Resources¶
- Quick Start Guide - Installation and setup
- API Reference - Complete API documentation
- User Guide - In-depth guides