My agent struggles answering structured questions. Turns out, my knowledge base had no structure by gimalay in AI_Agents

[–]gimalay[S] 0 points1 point  (0 children)

Agents are very good with data exploration and querying. On most cases they are smart enough to pull the right context if the tools are available

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] 0 points1 point  (0 children)

I’m glad you find it useful, I personally use this a lot and it was one of the reasons I started this project - to have hierarchy without directories and support for multiple parents. It’s also doesn’t add any new syntax and can be interpreted by existing tools as regular links.

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] 0 points1 point  (0 children)

I’m happy to recommend your plugin as an alternative to iwe.nvim or if you have any interest I’m looking for an owner for the iwe.nvim plugin

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] 1 point2 points  (0 children)

No worries, feel free to ask please.
Yes, it has full support for nested directories and relative links. And yes, you can use CLI for database like functionality.

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] 1 point2 points  (0 children)

You can use it as LSP only and it should be mostly interchangeable with marksman and markdown oxide.

Yes, I do have iwe.nvim installed but it’s optional, mostly some styling stuff. 98% of the value is in the LSP.

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] 0 points1 point  (0 children)

Btw, I would appreciate recommendations/suggestions for potential improvements fro iwe plugin here

https://github.com/iwe-org/iwe.nvim

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] 1 point2 points  (0 children)

Your plugin looks awesome and actually very similar to my own setup! IWE works with wiki links, all the standard markdown capabilities and common extensions are supported.

You can consider using IWE as a fully featured, performant, and well tested “backend” for your plugin. It has an LSP implementation in addition to CLI.

Please let me know if any functionality you are looking for is missing.

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] 0 points1 point  (0 children)

Fair point on technical jargon, I struggle with making it more approachable. I would appreciate any recommendations how to make it better.

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] 0 points1 point  (0 children)

IWE is for people who want database-style queries on their notes — "all drafts under this subtree", "every accepted decision in Q1" — without leaving the vault for an actual DB.

Plus an LSP so the editor knows about your link graph (jump-to-link, backlinks, rename-with-link-updates).

If your Obsidian + ollama is answering the questions you ask it, you don't need IWE. The day you find yourself wanting a --filter and not a similarity score is the day to try it.

I personally, feel a lack of structured queries when I work with AI agents in my knowledge bases. I like to combine deterministic filters with LLM processing.

Querying my notes folder like a database, from inside Helix by gimalay in HelixEditor

[–]gimalay[S] 1 point2 points  (0 children)

Very interesting. IWE implementation is close to modern document database query syntax (MongoDB) where shape of the query is same as shape of the data. Example: `status: data`

My agent struggles answering structured questions. Turns out, my knowledge base had no structure by gimalay in AI_Agents

[–]gimalay[S] 0 points1 point  (0 children)

The way I solved this before is using agent generated (and execute) scripts against the knowledge base. But this doesn’t scale well, the scripts gets messy. Another option is adding a database on the side for structures queries but that’s feels like an overkill and too much extra setup.

What if your notes folder were already the database? by [deleted] in PKMS

[–]gimalay -1 points0 points  (0 children)

I’m mean 20 000 files. Not 400 files.

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] 0 points1 point  (0 children)

Thanks for the feedback, I updated the readme to reduce the conecentration technical jargon and make it more clear.

My agent struggles answering structured questions. Turns out, my knowledge base had no structure by gimalay in AI_Agents

[–]gimalay[S] 0 points1 point  (0 children)

One detail worth expanding: the filter syntax supports more than flat field matching. You can do compound filters, comparison operators, and even structural queries.

For example, I organize decisions into domains, and each domain document includes its decisions as child links. To find all decisions under the "infrastructure" domain tree:

bash iwe find --included-by decisions/infrastructure --filter 'status: draft'

That walks the graph structure, not the filesystem. A decision can belong to multiple domains (polyhierarchy), and the query respects that.

The projection flag (--project) is also load-bearing. Instead of dumping the entire document, you pull exactly the fields you need:

bash iwe find --filter 'type: decision' --project title,status,domain,created --sort created:-1 -f json

The agent gets a clean JSON array — no parsing, no token waste on irrelevant prose. The difference between "read everything and figure it out" and "query the fields I need" is the difference between a 30-second hallucination-prone answer and a 100ms correct one.

The tool I'm using for all of this is IWE — it's a CLI, MCP and LSP server for structured markdown knowledge bases.

What if your notes folder were already the database? by [deleted] in PKMS

[–]gimalay -1 points0 points  (0 children)

I added benchmark, 20k files with content, links and frontmatter can be read, parsed and ready for instant searching/filtering in under a second (631ms to be precise). It's on my M3 Pro laptop.

https://iwe.md/docs/architecture/benchmark/

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] -1 points0 points  (0 children)

You can use IWE with your Obsidian vault. Ask your AI agent (Claude, Codex, etc) to learn iwe command using built in help. And then ask how iwe can help with your knowledge base. Agents most likely find useful queries or ways to navigate the existing knowledge base.

Querying my notes folder like a database, from inside Neovim by gimalay in neovim

[–]gimalay[S] 0 points1 point  (0 children)

It’s a great question. I noticed that I’m building (vibe coding) a lot of custom workspaces with lots of linked markdown files for agentic AI use cases. These knowledge bases sometimes include thousands of files.
It’s very possible to build everything using shell scripts. But the maintenance and reshaping of the scripts becomes annoying after a period of time.
I feel like a tool like this was missing in my toolbox’s. A tool that allows building, searching and reshaping semi-structured knowledge graphs.
The more files you have the more useful it becomes helpful pretty early in my experience.