Skip to main content

Command Palette

Search for a command to run...

From Documents to Knowledge: How Information Becomes a Knowledge Object

Updated
16 min readView as Markdown
From Documents to Knowledge: How Information Becomes a Knowledge Object

Most AI knowledge systems begin with documents.

PDFs.

Markdown files.

Wiki pages.

GitHub repositories.

Support tickets.

Logs.

Architecture documents.

Chat conversations.

The usual pipeline looks familiar:

«Upload documents → Split them into chunks → Create embeddings → Store vectors → Retrieve relevant chunks»

This approach has made RAG practical.

And for many applications, it works well.

But while building AIKOQL, I keep coming back to a question:

«When does information inside a document become knowledge?»

A document is not knowledge.

A chunk is not knowledge.

An embedding is not knowledge.

They are all representations of information.

Knowledge, at least in the direction I am exploring with AIKOQL, needs something more.

It needs identity.

Context.

Relationships.

Evidence.

Time.

And eventually, a lifecycle.

This post explores what that transformation could look like.


A document is not a knowledge base

Consider a simple architecture document.

It contains the following sentence:

«The Payment Service uses PostgreSQL as its primary database.»

A traditional RAG pipeline might process it like this:

  1. Read the document.

  2. Split it into chunks.

  3. Generate embeddings.

  4. Store the chunks.

  5. Retrieve them when someone asks about the Payment Service.

The stored representation might conceptually look like this:

Chunk #4821

Content: "The Payment Service uses PostgreSQL as its primary database."

Source: architecture.md

Embedding: [0.018, -0.42, ...]

This is useful.

If someone asks:

«What database does the Payment Service use?»

Semantic search may retrieve the chunk.

The LLM can generate an answer.

But now consider what the system actually knows.

Does it know:

  • What the Payment Service is?

  • What PostgreSQL represents?

  • Whether this information is still current?

  • When this statement became valid?

  • Whether another document contradicts it?

  • Which source supports it?

  • Whether the information was verified?

Not necessarily.

The system has information.

But it may not yet have structured knowledge.


The problem with chunks

Chunks are primarily created for retrieval efficiency.

They are not necessarily meaningful units of knowledge.

For example, imagine this document:

«The Payment Service processes transactions. It depends on the Authentication Service for identity verification. Transaction data is stored in PostgreSQL. The service was migrated from MongoDB in June 2026.»

Depending on chunking strategy, the system may create:

Chunk 1

«The Payment Service processes transactions. It depends on the Authentication Service for identity verification.»

Chunk 2

«Transaction data is stored in PostgreSQL. The service was migrated from MongoDB in June 2026.»

The information has now been divided based on size, token limits, or chunking rules.

But knowledge does not necessarily follow chunk boundaries.

There are multiple distinct pieces of knowledge here:

  • Payment Service processes transactions.

  • Payment Service depends on Authentication Service.

  • Payment Service stores transaction data in PostgreSQL.

  • The service previously used MongoDB.

  • A migration occurred in June 2026.

A chunk may contain several knowledge statements.

Or one knowledge statement may span multiple chunks.

This is one reason I think:

«Chunks are a retrieval strategy, not a knowledge model.»


The first transformation: identifying a knowledge claim

The first step in transforming information into knowledge may be identifying meaningful claims.

Consider this sentence:

«The Payment Service uses PostgreSQL as its primary database.»

The system can identify a claim:

Subject: Payment Service

Relationship: USES

Object: PostgreSQL

Now the information is no longer simply text.

It has structure.

We can ask:

«What does the Payment Service use?»

Or:

«Which services use PostgreSQL?»

Or:

«What databases are connected to the Payment Service?»

The same information can now participate in structured queries and relationships.

This is an important transition.

From:

«Text containing information»

To:

«A representation of a claim about something»


Knowledge extraction is not the same as summarization

AI systems are already good at summarizing documents.

But summarization and knowledge extraction are different.

A summary might say:

«The Payment Service handles transactions and relies on PostgreSQL for storage.»

That is useful for a human.

But the system may still not understand the underlying structure.

Knowledge extraction attempts to identify the individual concepts and relationships.

For example:

Knowledge Claim 1

Payment Service

"PROCESSES"

Transactions


Knowledge Claim 2

Payment Service

"USES"

PostgreSQL


Knowledge Claim 3

Payment Service

"DEPENDS_ON"

Authentication Service

Each claim can now become independently addressable.

This is where the idea of a Knowledge Object becomes interesting.


What is a Knowledge Object?

The simplest way I currently think about a Knowledge Object is:

«A persistent representation of something the system knows, along with the context needed to understand that knowledge.»

A Knowledge Object may contain:

  • The knowledge itself

  • Identity

  • Relationships

  • Evidence

  • Provenance

  • Time

  • State

For example:

Knowledge Object

Statement: Payment Service uses PostgreSQL

Relationship: Payment Service → USES → PostgreSQL

State: Observed

Source: Architecture Document

Evidence: Section 3.2

Observed At: 2026-09-03

This is much richer than a chunk.

But it is important not to confuse richer representation with truth.

The system has extracted a claim.

That does not automatically mean the claim is correct.

This is where knowledge state becomes important.


Extraction should create observations, not instant truth

Imagine an AI model processes a document and extracts:

«The Payment Service uses PostgreSQL.»

Should the system immediately mark this as verified knowledge?

Probably not.

The model may have:

  • Misinterpreted the document.

  • Read outdated information.

  • Extracted an ambiguous statement.

  • Confused a planned architecture with the current architecture.

A safer approach may be:

«Extraction creates an observation or assertion.»

For example:

Knowledge: Payment Service uses PostgreSQL

State: Observed

Source: Architecture Document

The system can then evolve the knowledge based on additional information.

This distinction becomes particularly important when AI agents generate knowledge automatically.

«AI-generated information should not automatically become AI-trusted knowledge.»


Evidence should stay connected to knowledge

One of the biggest problems with extracted information is losing the original context.

Imagine an AI system stores:

«The Payment Service uses PostgreSQL.»

Six months later, someone asks:

«Where did this information come from?»

If the answer is simply:

«We extracted it from a document.»

That is not very useful.

A better system should preserve the evidence.

For example:

Knowledge: Payment Service uses PostgreSQL

Supported By: Architecture Document

Location: Database Architecture section

Source Version: v1.8

Extracted At: September 2026

Now the system can potentially trace the claim back to its origin.

This becomes important when:

  • The source changes.

  • The source is deleted.

  • A new document contradicts it.

  • Someone questions the claim.

  • The AI needs to explain its answer.

Evidence gives knowledge something information retrieval alone often loses:

«Traceability.»


Provenance answers: where did this come from?

Evidence tells us what supports a claim.

Provenance tells us where the knowledge came from.

Imagine the following chain:

Architecture Document

Section: Database Layer

Extracted Claim

Knowledge Object

The system can preserve this lineage.

Now imagine the original document is updated.

The architecture section changes from:

«PostgreSQL»

to:

«CockroachDB»

The system can identify knowledge that originated from the old version.

That creates an interesting possibility.

Instead of treating knowledge as permanent, the system can ask:

«Which Knowledge Objects may be affected by this source change?»

This is where persistent knowledge starts becoming dynamic infrastructure.


A source change should not simply overwrite knowledge

Suppose an architecture document is updated.

Yesterday:

«The Payment Service uses PostgreSQL.»

Today:

«The Payment Service uses CockroachDB.»

A simple ingestion system might delete the old chunk and insert the new chunk.

But something valuable is lost.

The old information may still be historically correct.

A knowledge-aware system could instead preserve the evolution.

Previous Knowledge

«Payment Service uses PostgreSQL.»

State:

Superseded


Current Knowledge

«Payment Service uses CockroachDB.»

State:

Current

The relationship between the two is also meaningful.

The new knowledge may:

«SUPERSEDE»

the previous knowledge.

This is where document ingestion connects directly to knowledge lifecycle.


From extraction to knowledge requires identity

One of the challenges with documents is that the same concept can appear in many different forms.

For example:

«Payment Service»

«Payment API»

«Payments Platform»

«Transaction Processing Service»

Are these different systems?

Or different names for the same system?

A knowledge system eventually needs to deal with identity.

Consider two documents.

Document A says:

«Payment Service uses PostgreSQL.»

Document B says:

«Payments Platform migrated to CockroachDB.»

Before deciding whether these statements contradict each other, the system may need to determine:

«Are Payment Service and Payments Platform the same entity?»

Identity resolution becomes important.

Without it, the knowledge base may become a collection of disconnected facts.

With identity, information can start accumulating around entities.

For example:

Payment Service

Known As: Payment API Payments Platform

Relationships: Uses → PostgreSQL Uses → CockroachDB Depends On → Authentication Service Processes → Transactions

Now the system can begin understanding that different pieces of information refer to the same thing.


Relationships are discovered during ingestion

Documents often contain hidden relationships.

Consider:

«The Payment Service depends on the Authentication Service.»

This sentence contains at least two entities.

  • Payment Service

  • Authentication Service

And a relationship:

«DEPENDS_ON»

Once extracted, that relationship becomes queryable.

Later, another document might say:

«The Authentication Service depends on Redis.»

Now the system can connect the information.

An AI agent asking:

«What infrastructure does the Payment Service depend on?»

may eventually discover:

  • Authentication Service

  • Redis

The answer requires more than retrieving one chunk.

It requires relationships between pieces of knowledge.

This is one of the reasons I see ingestion as more than:

«Upload → Embed → Store»

It may eventually become:

«Extract → Identify → Connect → Preserve → Evolve»


Not every piece of information deserves to become knowledge

This is another question I think is important.

Should everything extracted from a document become a persistent Knowledge Object?

Probably not.

Consider a sentence like:

«This document was last updated on Tuesday.»

Or:

«The author prefers dark mode.»

Or:

«Please review this section before publication.»

Some information may be:

  • Temporary

  • Irrelevant

  • Context-specific

  • Low value

  • Procedural

A knowledge system needs some notion of selection.

This could involve:

  • Extraction rules

  • Confidence

  • Source importance

  • Entity relevance

  • Application context

The goal is not necessarily to store everything as permanent knowledge.

Otherwise, the system may create a different problem:

«An enormous collection of information with no meaningful structure.»

Knowledge infrastructure should ideally help reduce noise, not preserve it forever.


Confidence is useful, but confidence is not truth

AI extraction systems often produce confidence scores.

For example:

Claim: Payment Service uses PostgreSQL

Confidence: 0.94

That can be useful.

But confidence should not be confused with correctness.

The model may be very confident and completely wrong.

This is why I think confidence should be only one part of the knowledge model.

Other dimensions may include:

  • Source authority

  • Evidence quality

  • Independent confirmation

  • Temporal validity

  • Contradiction

  • Verification state

A better question may not be:

«How confident was the model?»

But:

«Why should the system believe this information?»

That is a much more difficult problem.

And it cannot be solved with a single score.


Multiple sources can strengthen knowledge

Imagine three independent sources.

Architecture Document

«Payment Service uses CockroachDB.»

Deployment Configuration

«Database engine: CockroachDB»

Production Monitoring

«CockroachDB connection metrics detected.»

Individually, each source provides evidence.

Together, they create stronger support.

A Knowledge Object might now have:

Knowledge: Payment Service uses CockroachDB

Evidence: 3 independent sources

State: Verified

This creates another interesting possibility.

Knowledge can become stronger as supporting evidence accumulates.

The system does not simply store a fact.

It stores the history of why that fact is believed.


Contradictions should trigger investigation

Now imagine a new document appears.

«Payment Service uses PostgreSQL.»

But the existing verified knowledge says:

«Payment Service uses CockroachDB.»

A simple retrieval system stores both.

A knowledge-aware ingestion process could detect a potential conflict.

But detecting a contradiction does not mean immediately rejecting the new information.

The new document may be:

  • Historical

  • Outdated

  • Referring to another environment

  • Incorrect

  • More recent than existing information

The system needs context.

For example:

Claim A: Payment Service uses PostgreSQL

Source Date: March 2026

Claim B: Payment Service uses CockroachDB

Source Date: August 2026

Now the contradiction may actually represent evolution.

Time resolves the conflict.

This is why ingestion, identity, relationships, time, and lifecycle cannot really be treated as isolated features.

They influence each other.


The transformation is iterative

One mistake would be to imagine a perfect pipeline.

Something like:

«Document → Knowledge»

In reality, the transformation is likely iterative.

A more realistic process may look like this:

  1. Information is discovered

A document, event, conversation, repository, or API produces information.

  1. Potential claims are extracted

The system identifies statements that may represent useful knowledge.

  1. Entities are identified

The system attempts to understand what the information refers to.

  1. Relationships are extracted

Connections between entities and knowledge are identified.

  1. Evidence is preserved

The system retains the original context and source.

  1. Knowledge is compared

The new information is compared with existing knowledge.

  1. State evolves

The knowledge may remain observed, become verified, be contradicted, or supersede existing knowledge.

This is not a one-time operation.

Knowledge continues to evolve.


The same information can produce different knowledge

Context matters.

Consider this sentence:

«PostgreSQL is the primary database for the Payment Service.»

In one context, this might represent:

«Current production architecture.»

In another:

«Historical architecture documentation.»

In another:

«A planned but never deployed design.»

The text may look almost identical.

The meaning is different.

This is why extracting text alone is not enough.

The system needs to understand context such as:

  • Source

  • Time

  • Environment

  • Document version

  • Surrounding information

The same sentence can represent different knowledge depending on where and when it was observed.


Knowledge ingestion is a systems problem

At this point, document ingestion begins to look less like a simple AI pipeline.

It becomes an infrastructure problem.

The system may need to manage:

  • Large numbers of sources

  • Duplicate information

  • Conflicting claims

  • Entity resolution

  • Source versions

  • Evidence relationships

  • Knowledge updates

  • Historical knowledge

  • Concurrent ingestion

This is one reason AIKOQL is interesting to me as a systems project.

The challenge is not simply:

«Can an LLM extract information from a document?»

We already know that it can.

The harder question is:

«What happens after extraction?»

Where does that information live?

How is it identified?

How is it connected?

How does it evolve?

How does it remain trustworthy over time?

That is where persistent knowledge infrastructure begins.


From documents to knowledge infrastructure

The transformation I am exploring can be summarized simply:

«Documents contain information.»

«Extraction identifies potential knowledge.»

«Knowledge Objects preserve that information with context.»

«Evidence explains why the knowledge exists.»

«Relationships connect knowledge.»

«Time explains when it was relevant.»

«Lifecycle explains how it evolved.»

The final goal is not simply a smarter document store.

The goal is to explore whether information can become part of a persistent knowledge system.

A system where an AI agent can eventually ask:

«What do we know about this?»

And receive more than similar chunks.

It could receive knowledge with:

  • Context

  • Evidence

  • State

  • History

  • Relationships

That is the direction I believe is worth exploring.


What this means for AI agents

This becomes particularly interesting when AI agents are involved.

An agent may continuously receive information from:

  • APIs

  • Logs

  • Documents

  • Conversations

  • Other agents

  • Tools

Without structure, the agent's memory can quickly become a large collection of disconnected observations.

The agent may remember:

«Something happened.»

But not necessarily:

«What happened?»

«Why did we believe it?»

«Did anything later contradict it?»

«Is it still relevant?»

Persistent knowledge infrastructure could potentially give agents a more disciplined memory model.

Instead of simply storing:

«Information I encountered»

the agent can build:

«Knowledge I observed, tested, supported, rejected, and evolved.»

That distinction may become increasingly important as agents operate for longer periods.


The question I am exploring with AIKOQL

The document-to-knowledge pipeline raises a fundamental question.

«Should AI infrastructure treat documents as the final unit of knowledge?»

Or are documents simply one source from which knowledge can emerge?

I believe the second possibility is worth exploring.

Documents are important.

Chunks are useful.

Embeddings are powerful.

Vector search is valuable.

But none of them alone answer:

«What does the system actually know?»

That question requires another layer.

A layer where information can become:

  • Identified

  • Connected

  • Supported

  • Time-aware

  • State-aware

  • Persistent

That is the idea behind the Knowledge Object.

And it is one of the core ideas I am continuing to explore with AIKOQL.


What comes next?

So far, this series has explored:

  • Why AI-native infrastructure may need new abstractions

  • Knowledge Objects

  • Knowledge architecture

  • Relationships and provenance

  • Knowledge lifecycle

  • Evidence, contradiction, and time

  • Querying knowledge

  • Transforming documents into knowledge

The next question is unavoidable:

«How does AIKOQL actually compare with the tools we already use?»

Because AIKOQL does not exist in isolation.

We already have:

  • Relational databases

  • Document databases

  • Graph databases

  • Vector databases

  • Search engines

  • RAG frameworks

The next post will explore:

Why Not Just Use a Vector Database? The Case for Knowledge Infrastructure Beyond RAG

I want to look honestly at where vector databases are excellent, where RAG is enough, and where a more persistent knowledge model may become useful.

Because the goal is not to replace every database.

The goal is to understand which problems existing systems already solve well — and which problems still need new infrastructure.


AIKOQL is an evolving open project exploring persistent and context-aware knowledge infrastructure for AI systems. The concepts discussed in this article represent the current direction of exploration and will continue to evolve through implementation, testing, and real-world workloads.

What do you think?

«When an AI system reads a document, should it primarily remember the document itself — or should it extract and maintain the knowledge contained inside it?»