Developers

Build on one production reality.

A typed, validated knowledge graph with branch-based proposals and formal constraint checking. Query facts, submit changes, and get controlled outcomes through a single API.

Integration Pattern

Three steps to integration

01

Connect

Use the Olivine API or MCP integration to connect your tools to the production knowledge graph. Authenticate, select a project, and start querying.

02

Submit proposals

Stage changes as branch proposals. Each submission is validated against SHACL shape constraints before it enters the graph. Invalid data is rejected with clear explanations.

03

Return controlled outcomes

Query the graph for validated facts, run impact analysis on proposed changes, and merge approved proposals into the baseline. Every operation is auditable.

Example

Clean API, controlled writes

Query the graph with typed filters. Submit changes as proposals that are validated against shape constraints before they touch the baseline.

Every write goes through branch validation. If it violates a constraint, the API tells you exactly what failed and why.

example.ts
// Connect to the Olivine API
const olivine = new OlivineClient({
  apiKey: process.env.OLIVINE_API_KEY,
  project: "my-production"
});

// Query the knowledge graph
const crew = await olivine.query({
  type: "olv:CrewMember",
  filters: { department: "Camera" },
  include: ["availability", "rate", "scenes"]
});

// Submit a change proposal
const branch = await olivine.createBranch({
  name: "update-camera-crew",
  description: "Add B-camera operator for week 3"
});

// Validate and merge
const validation = await branch.validate();
if (validation.passed) {
  await branch.merge();
}