* 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
* Re: [Orgmode] Feature request: IDs on anything
2011-11-27 23:09 [Orgmode] Feature request: IDs on anything 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-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
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-11-27 23:09 [Orgmode] Feature request: IDs on anything sindikat
2011-11-29 21:13 ` Samuel Wales
-- strict thread matches above, loose matches on Subject: below --
2011-12-01 13:48 sindikat
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).