Ontologies

An ontology is the vocabulary the extractor uses when it reads your documents — the entity types it recognises and the relationship types it can record. It is chosen per project at creation time and determines what the knowledge graph can represent.

Why it matters

If a relationship the text states has no matching type in the ontology, it is dropped. A general ontology works well for business content, but a specialised domain benefits from a specialised vocabulary — otherwise domain relationships (a herb treats a condition, a formulation contains an ingredient) simply have nowhere to go.

Choosing an ontology

Pass ontology when creating a project:

curl -X POST https://api.your-host/v1/projects \
  -H "Authorization: Bearer $ADMIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "partner-acme", "ontology": "default"}'
OntologyGood forExample types
defaultgeneral business / product contentOrganization, Person, Product, Concept, Location, Event
domain (e.g. ayurveda)a specialised fieldHerb, Formulation, Condition, Compound, Dosha, … / TREATS, CONTAINS, PACIFIES, …

If you omit ontology, the default set is used. Unknown names are rejected at creation time.

Open relationships

Whatever the ontology, the extractor can capture a relationship that doesn’t match a named type using a catch-all with a free-text label — so a stated relationship is preserved rather than silently discarded.

Choosing the right ontology is the single most effective way to improve graph quality for a domain corpus. If you’re onboarding a specialised partner, ask us which ontology fits their field.