Hode[1] (the Higher Order Data Editor), which is free, solves some of these problems. (I wrote it. It's still evolving but it works already.)
> metadata is hard
Hode lets you encode and search any kind of information -- entities, relationships bewteen entities, relationships between relationships, relationships of any arity (number of members).
Hash, the language in which one adds and searches for data in Hode, is very close to natural language. I'll give examples below, based on the article's author's wishes.
> Let me compare my reading list with another to see overlap
This is the "and" operator. (There are also "or" and "difference" operators.) The query in Hash would look like
/find (/eval /it #is-in (reading list #of mary))
& (/eval /it #is-in (reading list #of peter))
> Allow me to tag books instead of placing them into static lists
Hode lets you do even better than tags -- you can classify the meaning of the tag. For instance, here are two commands that would add two tags to a book:
/add The Wisdom of Crowds #was a best-seller
/add The Wisdom of Crowds #(helps understand) finance
> Be tied to my highlights, annotations, and bookmarks in a non-proprietary, searchable, and shareable format
Hode is free software, and the data format it uses is dirt-simple.
Hode permits encoding and searching just about anything I can think of. Hode cannot yet create the data for you to search, though -- so far you've got to enter the data yourself.
> Let me query this tool like a relational database. For example: show me all books about scaling startups recommended by people I follow on Twitter or by people they follow.
Hode lets you order your search results according to any transitive binary relationship -- "read before" or "is more important than" or "was written before", whatever you want.
This looks interesting. If I may ask a naive question, why did you decide to build this as a text editor rather than tooling on top of an existing text editor (the parallel that occurs to me being Emacs and org-mode)?
> metadata is hard
Hode lets you encode and search any kind of information -- entities, relationships bewteen entities, relationships between relationships, relationships of any arity (number of members).
Hash, the language in which one adds and searches for data in Hode, is very close to natural language. I'll give examples below, based on the article's author's wishes.
> Let me compare my reading list with another to see overlap
This is the "and" operator. (There are also "or" and "difference" operators.) The query in Hash would look like
> Allow me to tag books instead of placing them into static listsHode lets you do even better than tags -- you can classify the meaning of the tag. For instance, here are two commands that would add two tags to a book:
> Be tied to my highlights, annotations, and bookmarks in a non-proprietary, searchable, and shareable formatHode is free software, and the data format it uses is dirt-simple.
Hode permits encoding and searching just about anything I can think of. Hode cannot yet create the data for you to search, though -- so far you've got to enter the data yourself.
> Let me query this tool like a relational database. For example: show me all books about scaling startups recommended by people I follow on Twitter or by people they follow.
> Help me deal with prioritizationHode lets you order your search results according to any transitive binary relationship -- "read before" or "is more important than" or "was written before", whatever you want.
[1] https://github.com/JeffreyBenjaminBrown/hode