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, 0 replies; 3+ messages in thread
From: Samuel Wales @ 2011-11-29 21:13 UTC (permalink / raw)
  To: sindikat; +Cc: emacs-orgmode

Hi sindikat,

On 2011-11-27, sindikat <sindikat@mail36.net> wrote:
> 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
...
> management could be made out of that. Every ID marker will
> effectively become a graph vertice.

Yes, you got it.  Wherever an ID marker is, that place is a
graph vertex.

Because it uses Org IDs, it is pretty unbreakable and can be
linked to across files.  If you move it, you don't have to
change anything that points to it.

You can change how an ID marker looks by adding a keyword
argument (like :label or :face) to the marker.

===

As you suggest, the arguments can let you point to other
markers to create arbitrary graph structures.

Among other things, this allows =unbreakable bidirectional
links=.  IMO these potentially solve a few unaddressed
aspects of the =tree problem= (my term for the fact that
ideas and tasks naturally form a graph but outlines form a
tree).  Especially with the right label code.  RET bounces
between the ends.

Of course, this is vaporware as.  It's been discussed in a
bunch of threads.  Perhaps you would be willing to try
implementing it.


Samuel

-- 
The Kafka Pandemic: http://thekafkapandemic.blogspot.com
===
Bigotry against people with serious diseases is still bigotry.

^ 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).