Infona
OPEN SOURCE · APACHE 2.0

The knowledge layer AI agents depend on

Auto-built. Cited. Self-updating.

Ingest any source. Get a knowledge graph that enriches itself on a schedule and serves your agents grounded, cited context — with entity resolution, a human review gate, and exact answers SQL and RAG can't deliver.

infona — zsh
$ npx @infona-ai/cli ingest portfolio.csv --kg fund
312 rows · 7 columns detected
ontology inferred — Company · Founder · Investor · Round
3 relationships · 2,204 edges built
enrich(Company) scheduled · daily
graph live at infona.ai · cited answers ready
FUND · 316 NODES · LIVE
86.3%
hard slice (joins) · vs 39.7% SQL
91.4%
overall · all 302 questions
Cited
every fact has provenance
Live
scheduled re-verification
PROBLEM

AI agents are only as good as the knowledge underneath them

That knowledge is rotting. Agents ship on messy operational data with only RAG in between — no exact aggregates, no multi-hop joins, no citations a compliance team can approve.

ENTITY RESOLUTION
The same company, three times.
Duplicates break every aggregate your agent runs.
AGGREGATES
Confident sums over the wrong rows.
SQL and RAG both look certain — and both can be wrong.
STALENESS
Facts go quietly wrong.
Nothing flags a value last verified two years ago.
RAW TABLE · BEFORE INFONA2 ROWS · 1 ENTITY
COMPANYSTAGELAST_VERIFIED
Acme Corp.Series D2026-06-30
ACME CORPSeries C2024-11-02 · stale
Same company. Different names, conflicting attributes, one two years stale. Every agent answer built on this is wrong.
01PRODUCT

Drop a CSV. Ask questions. That's it.

No schema design, no data modeling, no config. Infona infers entity types, attributes and relationships from raw rows — a production-ready graph in seconds.

a
Any source
A CSV, a database, an API. Raw rows in — no schema design required.
b
Review the schema
Infona infers a typed ontology. You approve before anything is written.
c
Resolve entities
Duplicates merge. One real-world thing, one node — then agents get exact answers.
PORTFOLIO.CSV312 rows→ kg/fund
COMPANYSECTORSTAGE
RampFintechSeries D
VantaSecuritySeries C
LinearDevToolsSeries B
↓  ontology inferred — no schema written
CompanyFounderInvestorRound
Companyfounded_byFounder
Companybacked_byInvestor
CompanyraisedRound
Acme Foods Inc. ← merged with ACME FOODS · one node for every agent
ENRICHMENT LOG · LIVE
kg/master
09:24:01enrich(Company)Ramp · industry → Fintech · cited
09:24:08enrich(Company)Vanta · HQ → San Francisco · series ID
09:24:15enrich(Founder)Alice Chen · LinkedIn → verified
09:24:22enrich(Investor)Sequoia · AUM → filled
09:24:29reverify(Company)18/18 attributes filled · public filings
09:24:36enrich(Round)weekly re-verification scheduled
Scheduled enrichment behind a confidence gate — every value cited.
02ENRICH

Fill missing facts. Re-verify on a schedule.

Scheduled enrichment fills missing and stale attributes from external sources behind a confidence gate. New sources pass the same review gate as day one — the schema evolves deliberately instead of rotting.

Provenance on every value
Source URL, series ID, verified-at — what compliance can approve.
Maintenance compounds
Each re-verification run accretes history a fast-follower starts at zero on.
03ASK

Exact, cited, fresh answers

Ask in plain English or over MCP. Agents traverse a reviewed, typed graph — every answer carries receipts back to source rows and enrichment runs. SPARQL is the internal execution target, never the interface.

ASK YOUR KNOWLEDGE LAYER
kg/master
What's average deal size by region?
$47,5001 hop · 12 regions
Companyfilter(has_deal)group_by(region)avg(deal_size)

Computed over every row — not a sample, not a hallucination.

04PROOF

On multi-hop joins: 86.3% vs 39.7% text-to-SQL

86.3% is the hard slice only (join / multi-hop). 91.4% is overall across all 302 questions — easier lookups pull that average up. Same benchmark; two different cuts.

THE CLAIM · HARD SLICE ONLY (JOIN / MULTI-HOP) · NOT OVERALL
INFONA · JOIN / MULTI-HOP
86.3%
Typed graph on the hard questions
TEXT-TO-SQL · SAME HARD SLICE
39.7%
Not the overall text-to-SQL score (that's 68.5% below)
SYSTEMCONTEXT · OVERALL (ALL 302 QUESTIONS · FULL EXAM)SCORE
Infona (typed graph)
91.4%
Pandas agent
77.2%
Text-to-SQL (DAIL-SQL-style)
68.5%
Naive RAG
27.8%

Overall (91.4%) is higher than the hard-slice (86.3%) because T1/T2 lookups are easier and lift the average.

T1 · LOOKUP
99.0%
easy
T2 · FILTER
92.3%
T3 · JOIN
86.3%
headline slice
T4 · MULTI-HOP AGG
81.4%
hardest

302 questions · 26 held-out knowledge graphs · execution-verified ground truth · leakage-hardened. Claim = hard slice (86.3 vs 39.7). Context = full exam (91.4 overall).

AGENT READY

Built for the agents that depend on it

Open source core (Apache 2.0) so engineers adopt before procurement. Hosted cloud for managed enrichment and re-verification. Python SDK, REST, or MCP — integrate in minutes.

CLI
Ingest in seconds. One command to load any CSV and start querying it.
MCP
Any MCP agent. Connect Claude, Cursor, or any MCP client to the knowledge layer.
SKILL
Agent skill. Drop-in skill so agents build and query end-to-end.
from infona import Client

client = Client(api_key="your-key")
client.ingest("sales_data.csv", kg="my-data")
answer = client.ask("What's the average deal size by region?")
print(answer)  # "$47,500 across 12 regions · cited"
LIVE AT INFONA.AI

Build the knowledge layer your agents depend on

Get early access to hosted enrichment and re-verification. We'll reach out when your spot is ready.

or talk to the founder →