10 ms·
Obsidian Dataview: Turn Obsidian Vault into a database you can query from
- celdon25 4y agoJust a shameless suggestion: if anyone is concerned about the security implications of using the Obsidian Sync paid addon, I’ve been having good results with Syncthing instead. It supports peer-to-peer sync and is FOSS.
- 369548684892826 4y agoI've done this too, but on iOS Syncthing doesn't work so well. Resorted to running a Windows VM as a bridge between iCloud and Syncthing.
- singhrac 4y agoI have just used iCloud for everything, and it works great, even on Windows (note that you cannot use the Microsoft Store app, which is garbage). I guess I fit solidly inside the 5GB free tier and probably will for quite a while. I would use Dropbox but the app feels quite heavy and it wasn’t very easy to set up on iPhone.
- 369548684892826 4y agoSadly no iCloud client for Linux though, so that's where Syncthing comes in!
- amon22 4y agowhat's wrong with git?
- celdon25 4y agoWhat's wrong with syncthing?
- mcjiggerlog 4y agoWorks on your phone and works in real time as opposed to needing to make a commit every time you change a note.
- lfkdev 4y agoThats a really cool idea
- sofixa 4y agoI've been using it for a few months and it's pretty cool. It allows me to do stuff like: * list all unfinished tasks grouped by some custom metadata ( project, etc.) * have note templates which contains a dynamic query for the history of the same type of note for historical context * use it in conjunction with Obsidian charts to make custom charts ( e.g. number of meetings with tag/metadata/mention of X)
- pqs 4y agoHow would you manage tasks with this? Currently, I'm using Evernote and its new Tasks feature is very good, even though it could be better. I cannot move from Evernote to Obsidian if I don't solve the issue of managing tasks effectively from with Obsidian, as I currently do with Emacs.
- davish 4y agoI moved from Emacs org-mode to Obsidian with the help of the obsidian-tasks plugin, which lets you write queries for tasks similarly to Dataview. I used a few of those queries to build up an Agenda view that matched my custom agenda buffer in org-mode. I put together a little write up here: https://davi.sh/blog/2022/01/obsidian-one/ https://davi.sh/blog/2022/01/obsidian-one/
- pqs 4y agoGreat!
- greggsy 4y agoI add a tag, which filters it into a table. Pretty rudimentary but it meets my needs.
- Macha 4y agoI use the Tasks plugin for this. Tasks are created by creating markdown lists. You can put tags in with hashtags and due dates in with (and this bit I dislike, even though there's a command for it) the calendar emoji followed by a date. E.g. (note HN strips out emoji) - [] Write documentation for Foobar #docs #personxyz (cal emoji) 2022-05-22 You then write a query in a markdown code block with a custom query language. E.g. ```tasks not done description does not include #deferred due before today path does not include Templates ``` For recurring tasks, I combine with the periodic notes plugin, I put the tasks in my daily/weekly (I don't use monthly but it is an option) with labels like #wednesday if it needs to done on a specific time. Then I include appropriate queries in my daily notes to bring up the relevant tasks, and I also have a Todo note with various longer term/backloggy tasks. There are other plugins you can use, like Dataview which is the subject of this post (but means each Todo needs to be its own note), or the Todoist plugin, but Tasks is the one which works for me.
- EleanorKonik 4y agoHonestly this is one of the handful of plugins I hate trying to live without. Tag wrangler is the other.
- TuringTest 4y agoHierarchical notetakers/outliners are becoming a new data structure for end users, specialized in knowledge management. A kind of generalized, expandable spreadsheet. I expect these tools to include more and more tools for automation based on a reactive programming style (more suited to non-programmers), expanding its function as a warehouse of ideas into a more active role for user-created applications. The NOCODE camp is growing from its VB6-like visual-style roots into environments that look more like an IDE in the style of the browser's "Inspect" window. The key development that I miss is that of reifying query results, allowing the user to use the data generated by a search as an object in itself. I even have a name for that reified object - a wit would be a collection of data compiled with a common criteria (representing a minimum unit of meaning, is a wordplay on bit being the minimum unit of knowledge), similar to a spreadsheet range. When tools like Obsidian or Logseq start allowing the user to use query results as first-class data, I predict that we will see a revolution in end-user process automation.
- qwertyzxcvmnbv 4y agoCheck out https://lepiter.io/feenk/introducing-lepiter--knowledge-management--e2p6apqsz5npq7m4xte0kkywn/ https://lepiter.io/feenk/introducing-lepiter--knowledge-mana...
- TuringTest 4y agoWhere has this tool been my whole life? :P Thanks for the link, I didn't know that one. Yes, this https://youtu.be/Pot9GnHFOVU https://youtu.be/Pot9GnHFOVU is the kind of programmable system I'm talking about, creating behavior on top of your stored content with methods specific to the particular collections of data already in your system, and ideally with minimal syntax for transferring data among the different tools.
- qwertyzxcvmnbv 4y agoSuper happy this landed, I had the same kind of reaction as you :-)
- 4y ago
- qwertyzxcvmnbv 4y agoLogseq allows query via datomic: https://discuss.logseq.com/t/advanced-queries-and-the-database-documentation/1542 https://discuss.logseq.com/t/advanced-queries-and-the-databa...
- hipitihop 4y agoMinor correction, I don't think Datomic is used. I believe it uses a variation of DataScript and in turn DataLog for queries. Whereas Datomic is a DB which is also based on and uses DataLog queries. Either way, super powerful. Refs: https://en.m.wikipedia.org/wiki/Datalog https://en.m.wikipedia.org/wiki/Datalog https://github.com/tonsky/datascript https://github.com/tonsky/datascript https://www.datomic.com/ https://www.datomic.com/
- qwertyzxcvmnbv 4y agoQuite right, thanks for the corrections and links!
- kall 4y agoIt's great, but I wish there was some more interesting stuff you could do with the results of that query, other than show an outline or table. The inline programmability of DataView and the Grid views etc are pretty killer. Unfortunately Obsidian is not for me, so I hope Logseq catches up.
- rpdillon 4y agoIf you like this idea, but prefer something more self-contained, Tiddlywiki is an excellent option, as it runs in-browser from a single HTML file. Its core approach is to treat notes as a queryable database, and its markup supports dynamic content based on queries of that DB. Because its UI is constructed from the same DB, the same techniques that allow you to construct a dynamic view from the DB also allow you to construct custom UIs for that view, including changing properties/attributes of items in the DB. That's all pretty abstract. A simple example: it allows you to construct a tabbed view of several todo lists based on tags and fields and adjust priority and status from that single UI. It's been available for many years, but has never been trendy, despite its unique design and strengths. I recommend giving it a spin!
- pqs 4y agoCan Tiddlywiki be used by a team with simultaneous edits?
- rpdillon 4y agoNot at all, AFAIK. Completely single-user in my experience.
- RyEgswuCsn 4y agoYou can. But you need to host it with a nodejs server.
- lr1970 4y ago> It's been available for many years, but has never been trendy, despite its unique design and strengths. I recommend giving it a spin! I was a heavy TiddlyWiki user in the past but moved away from it precisely because of its singe-HTML file design. Modern browsers like chrome made it virtually impossible to save an edited page. Not TW's fault per se, but ruined my experience with it. There is a way to install TW-5 with node.js as a directory tree but my ship has sailed. Now I am a happy obsidian user.
- rpdillon 4y ago
- chrisweekly 4y agoObsidian is amazing. Dataview is transformative, but it's not alone; the Excalidraw plugin is also a game-changer in its own right, enabling notes in drawings and drawings in notes... just incredibly powerful for more visually-oriented users.
- slightwinder 4y agoDataview is pretty nice, but last time I played with it, I missed a bit interactivity. By which I mean working with the results on the fly, like sorting them inplace, selecting individual entries and move them to new results. Is this possible now, or in progress?
- rrherr 4y agoYou can sort Dataview results using this plugin: https://github.com/alexandru-dinu/obsidian-sortable https://github.com/alexandru-dinu/obsidian-sortable
- slightwinder 4y agoAh, thanks. Makes sense that other extensions will also work for this.
- EleanorKonik 4y agoThis one is still in the manual-install phase, but you might like this plugin: https://github.com/tomaszkiewicz/obsidian-database-plugin https://github.com/tomaszkiewicz/obsidian-database-plugin
- slightwinder 4y agoThis looks really nice. Is there a timeline when it will be installable through obsidian?
- brimwats 4y agoshould be pretty soon tbh, code review is almost done
- mpalmer 4y agoMoving dataview entries between data views is fundamentally at odds with the paradigm in which dataview operates. The point is that it's ephemeral data that's entirely derived from the state of your notes. Maybe there are some basic queries that could support "two-way binding" of this sort, but it would be fiendishly complex and ultimately better solved by a different tool altogether
- RyEgswuCsn 4y agoBefore Obsidian there was ConntextedText [1]. Few people knew it even back then, but it is quite powerful, packed with common wiki features like linking, attributes, querying (also display results as a table), transclusion, page graph visualisation, python integration, etc. [1]: https://www.connectedtext.com/ https://www.connectedtext.com/
- kepano 4y agoDataview is incredible. Being able to query plain text notes and their metadata has been transformative for my workflow. It has allowed me to move virtually all my thought processing work into Obsidian. I am constantly amazed by how performant Dataview is. I sometimes wonder if learning how to use Dataview inside of Obsidian is too technical to get mass adoption, compared to WYSIWYG tools like Notion that let you build databases with nice UI filtering. But the performance of Dataview is so much better, and the control you have over queries so much more granular, that it’s worth the learning curve. The Obsidian community is also incredibly good at helping new users learn, which makes me feel optimistic. To help make things a bit more user-friendly I have been building an Obsidian theme called Minimal[1] which allows you to take Dataview tables and display them in a card layout[2]. I really enjoy that layout for certain types of information, while having all the underlying power of Dataview. [1]: https://github.com/kepano/obsidian-minimal https://github.com/kepano/obsidian-minimal [2]: https://minimal.guide/Block+types/Cards https://minimal.guide/Block+types/Cards
- jonnydubowsky 4y agoMinimal theme w/ Dataview card layout is awesome! I'm just digging into it, but it does make the queries more accessible. Thanks!
- dariusj18 4y agoSo many great features, but all these systems are missing the one true feature I really need, Link types. I see that Dataview gives some ability to have them, but it requires a very specific format that is pretty distinct from how the notes would be taken.
- alfonsodev 4y agocan you elaborate? How the ideal implementation would look like.
- dariusj18 4y agoMy use case would be more simple than others, but I am not super well versed in the actual current syntax of Obsidian. I like the idea of this syntax https://forum.obsidian.md/t/add-support-for-link-types/6994/30 https://forum.obsidian.md/t/add-support-for-link-types/6994/... as it would be most flexible. But a simple [[Page Name]]{type:child} could be good, all I really need is a means of filtering linked documents by their link type (in a graph view/visualization) and ideally a method to query and display those. Dataview gives the second, though the first seems to require the link type to be a first class citizen. I understand that it is a complex thing though, and not something easy to just throw in
- brimwats 4y agoyou can use the supercharged links plugin and careful control of it's class types to achieve that, it's how I did it. I'm largely using schema.org types
- blacksmithgu 4y agoWhoa, very weird to see my plugin hit HN! Dataview was initially borne as "Notion tables for Obsidian", but quickly became a way to do flexible data annotation + querying after I realized how powerful metadata can be. Viewing your notes as "text + data that can easily be accessed" can really alter how you think about note taking and knowledge management. There is a fair bit left to do for the plugin (export to raw Markdown, section-level metadata), but I hope you find it useful!
- _bramses 4y agothank you for your work on Dataview! I use it as a read later list in combination with a Mac Shortcut I wrote + https://github.com/hauselin/obsidian-alfred https://github.com/hauselin/obsidian-alfred It has completely replaced Pocket/Instapaper for me.
- siproprio 4y agoNext we’ll do email!
- nsonha 4y agois this the agile version of note taking? Making a bunch of tools and unproductive ceremonies around simple note taking?
- rainbell 4y agoit's more like a personal wikipedia/database than simple note-taking. And Dataview is all about CRUD that any database should have.
- eternityforest 4y agoObsidian is quickly shaping up to be the best thing ever to happen to note taking in a long time. I don't know how I could live without it! I wish it were FOSS, or had a roadmap to become FOSS once the whole world already owns a licensed copy, like everyone should, but even though I'm normally a major FOSS enthusiast, I'm just happy this software exists at all, in any form. I will definitely be making use of this dataview extension!