emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Re: [Orgmode] Feature request: IDs on anything
@ 2011-12-01 13:48 sindikat
  0 siblings, 0 replies; 3+ messages in thread
From: sindikat @ 2011-12-01 13:48 UTC (permalink / raw)
  To: emacs-orgmode

Apparently my post wasn't connected to the original thread, so here it is - 
http://lists.gnu.org/archive/html/emacs-orgmode/2009-03/msg00176.html 

Samuel, may be i will start implementing something like that locally, on my 
computer. Org already can substitute a spreadsheet or a plain-text data 
storage with tables, a wiki with external and internal links etc, but it 
still can't be a full-pledged key-value store (which can be used as 
semantic NoSQL database). 

So i would start implementing maps (dicts, key-value stores) upon org-mode. 
I want to do it incrementally, adding one small feature at a time. I want 
to implement the following features: 

 - Automatically assign unique IDs to all headlines in buffer/region/subtree
 - Nested properties (properties are maps basically) - does that require 
nested drawers?
 - Property :LINKS: and commands to navigate across headlines linked to each 
other
 - Previous property does not set the nature of a link (parent, child, 
prerequisite, reference), implement :LINK-TYPE: or something like that
 - Previous task allows to export to RDF, because now any relationship of 
headlines can be seen as triple headline1 - type-of-link - headline2 

These additions do not require any new syntax, they build upon good old 
properties. After that id-markers would be a magnificent generalization. 

Also, i do not promise i will do this anytime soon, i'm no expert in Emacs 
Lisp. 

Any thoughts welcome :)

^ permalink raw reply	[flat|nested] 3+ messages in thread
* Re: [Orgmode] Feature request: IDs on anything
@ 2011-11-27 23:09 sindikat
  2011-11-29 21:13 ` Samuel Wales
  0 siblings, 1 reply; 3+ messages in thread
From: sindikat @ 2011-11-27 23:09 UTC (permalink / raw)
  To: emacs-orgmode

I really love this idea of ID markers. It would open so many opportunities 
for semantic extensions of org-mode and not only. Using ID markers we can 
make a associative array (map, dict, key-value store) out of anything. 
Meaningful task planning, project management, knowledge and information 
management could be made out of that. Every ID marker will effectively 
become a graph vertice. 

As a variant, i would propose the Clojure syntax for maps: 

{"B7423F4D-2E8A-471B-8810-C40F074717E9" {:label "foo" :export-label "bar"}} 

Or something like that. The nested maps are like in NoSQL DBs (ex: 
CouchDB), where you have structure like {:database1 {:document1 {:key1 
value1 :key2 { ... } ... } ... } ... } 

However i found that curly braces are used in many occasions in org-mode: 
tags mutual exclusion, column attribute summary-type, capture templates - 
template expansion, tag regular expressions, #+caption: [1]{2}, macro 
replacement, embedded latex, source code. 

So if this syntax is unacceptable, $[] is fine too.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-12-01 13:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-01 13:48 [Orgmode] Feature request: IDs on anything sindikat
  -- strict thread matches above, loose matches on Subject: below --
2011-11-27 23:09 sindikat
2011-11-29 21:13 ` Samuel Wales

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).