emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: jemarch@gnu.org (Jose E. Marchesi)
To: Michael Brand <michael.ch.brand@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: [OT] recutils
Date: Sat, 04 Dec 2010 13:28:39 +0100	[thread overview]
Message-ID: <87vd39yb60.fsf@gnu.org> (raw)
In-Reply-To: <AANLkTin-N-XsP+4bewDe2ZV6YRoVBPqEGSfBSVPEcW2L@mail.gmail.com> (Michael Brand's message of "Sat, 4 Dec 2010 08:17:34 +0100")


    > I would highly appreciate any comment or suggestion on improving the
    > format, the utilities, or whatever.
    
    Wow! The ability to have a _relational_ database with foreign keys
    in a simple text file is so great news for me. A dream I had for
    many years now. Or is it lack of knowledge from my side about
    already existing solutions before recutils?

I don't think there is anything similar.  Initially I just wanted a
simple format to store fields in readable and writable files.  Something
really simple.  Then additional features came to my mind and I
implemented them.  But note that the "relational" characteristics in
recutils are not very sophisticated.  You can't have keys composed by
more than one field, for example.

The rule here is: if you need something more complex then you probably
should be using a real relational dbms instead :)
  
    I was thinking about using sqlite from the command line and together
    with shell scripts for stuff like my collection of music with
    recordings, MIDI files, scores and so on. Because at least for me
    editing a text file is by far simpler, more interactive and more
    convenient than editing with SQL I will prefer recutils over sqlite.

Additionally, text files are tool-independent.  You could even print
your database :)
    
    But since recfiles, the text files of recutils, are not
    hierarchically organized I am still considering to use only Org for
    the case of my collection of music. Org would have the advantages of
    outlining, hyperlinks, column view, todo, tags, agenda view, export
    for publishing and many others.

    Thus my wish for the file format would be to somehow keep in mind Org
    to potentially
    - convert the files bidirectionally between the format of recfiles and
      Org, with or without something like "literate programming" of
      org-babel

I don't think it is generally possible to map the relationships between
record types in a recfile to hierarchies in an org file.  For example,
in a recfile you could have something like:

    %rec: Album
    %key: Name
    %type: Year date
    
    Name: Loving You
    Year: 1957
    Author:Name: Elvis Presley
    
    ...
    
    %rec: Author
    %key: Name
    
    Name: Elvis Presley
    
You could extract:

    * Albums
    ** Elvis Presley
    *** Loving You
    
But then, what if several authors authored an album?

    %rec: Album

    Name: Sounds of Silence
    Author:Name: Simon
    Author:Name: Garfunkel

You could group by Album or by Author then.

    - use recutils as a language extension to org-babel, recutils reading
      data streamed to its stdin from org-babel and piping back to into
      org-babel result (no writing by recutils to the file)

That sounds interesting.  Would be nice to store rec data into the org
files.

Thanks for the suggestions :)

-- 
Jose E. Marchesi    jemarch@gnu.org
GNU Project         http://www.gnu.org

  parent reply	other threads:[~2010-12-04 12:33 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-03 21:16 [OT] recutils Jose E. Marchesi
2010-12-04  7:17 ` Michael Brand
2010-12-04  8:25   ` Russell Adams
2010-12-04 12:30     ` Jose E. Marchesi
2010-12-04 12:28   ` Jose E. Marchesi [this message]
2010-12-04 18:50     ` Russell Adams
2010-12-05 18:59     ` Michael Brand
2010-12-05 20:20       ` Jose E. Marchesi
2010-12-13 12:33     ` Jean-Marie Gaillourdet
2010-12-20 18:09       ` Michael Brand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87vd39yb60.fsf@gnu.org \
    --to=jemarch@gnu.org \
    --cc=emacs-orgmode@gnu.org \
    --cc=michael.ch.brand@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).