
The data model in 60 seconds
Three concepts — nodes, edges, properties.
flowchart LR
Customer -->|HasTicket| Ticket
Ticket -->|ForProduct| Product
Ticket -->|HasStatus| Status
Nodes are C# classes annotated with four attributes:
[Node]
public class Ticket
{
[Key] public string Id { get; set; } // stable unique ID
[Property] public string Subject { get; set; } // scalar field
[Property] public string Body { get; set; }
[Timestamp] public DateTimeOffset CreatedAt { get; set; } // enables time facets
}
| Attribute | Purpose |
|---|---|
[Key] |
Stable unique identifier — drives idempotent ingestion |
[Property] |
Scalar field for display, filtering, or search |
[Timestamp] |
Date/time field — enables recency sort and time facets |
Node or property?
If a user would ever click on it to see related items → make it a node. If it's just a value to show → make it a property.