This sample is a support-ticket workflow app to learn how relational, JSON documents, event-streaming, full-text search, vector search, graph search can work together within a single database engine.
What this sample demonstrates
Vector Search
Store embeddings and search records by semantic similarity.
Use when users search by meaning or AI answers need grounded records.
JSON
Document-shaped data and SQL/JSON querying inside Oracle AI Database.
Use when records need flexible structure without leaving SQL, indexes, constraints, and transactions.
Duality Views
Document-shaped access over relational tables using JSON Relational Duality Views.
Use when APIs need JSON documents without giving up relational storage, SQL, constraints, and transactions.
Property Graph
Runnable Property Graph behavior on Oracle AI Database.
Use when Property Graph needs to be tested against real database behavior.
TxEventQ
Transactional queues for database-backed events and messaging.
Use when event delivery and data changes need the same transaction boundary.
Testcontainers
Disposable Oracle AI Database Free containers for repeatable local and integration tests.
Use when tests need real database behavior without sharing a long-lived development instance.
Spring
Runnable Spring behavior on Oracle AI Database.
Use when Spring needs to be tested against real database behavior.
Highlights
- Relational tables store customers, orders, products, tickets, runbooks, and ticket-to-product relationships.
- JSON columns store flexible product diagnostics and ticket payloads.
- TxEventQ publishes a durable TicketOpened event in the same transaction as the ticket insert, then the consumer enriches the ticket asynchronously.
- Oracle Text indexes JSON ticket payloads and product specs so similar-incident search can match error codes, SKUs, subjects, and diagnostic text.