I’m interested in how guerying the graph could be exposed to developers and maybe even directly to users.
I was thinking that normally a JS API would make the most sense, but obviously this wouldn’t work for normal end users. So maybe a simple graph query language could be used instead. Something like Cypher would be awesome.
With this kind of query language you could make something that devs could use in powerful ways, but that normal users could pick up pretty quickly.
I don’t think you would need to go as complex as implementing a query language for the graph. Why not just make it so you can export the graph as a JSON file to do whatever you please? The user at this point is most likely fairly techno-fluent.
I would really like a graph API. I think a query language is probably too tall an order, but an API that will let me navigate nodes and links and help me keep track of what I’ve already visited will give me plenty enough rope to do lots of cool things with, and that includes custom graph views.
I really like the plugin idea for graph search via query language with cypher or export and further use to neo4j for example. but then we would also need a possibility to define relationships between nodes (notes). This would make the whole thing really complex.
I think that at the beginning, this can be something really simple, providing an endpoint to invoke the current plugin API (that I cannot find), and serializes the results in JSON.
For example ‘search for notes’. The results could come in a JSON, providing URLs to the hits.
obsidian://open?path=the_note.md
This could be delivered as a Plugin, that exposes the API that needs a security token (defined in the plugin config)