I have used the following approaches in the past: Lisp lists, and use read later to get them. * Some heading :PROPERTIES: :SUBJECT: '(subject1 subject2 subject3) :END:
#+BEGIN_SRC emacs-lisp (read (org-entry-get (point) "SUBJECT")) #+END_SRC #+RESULTS: | quote | (subject1 subject2 subject3) | * Second heading :PROPERTIES: :SUBJECT: subject1 subject2 subject3 :END: delimited strings. You have to split them them yourself later if you are using the properties in code. You can delimit on spaces, commas, etc... depending on your subjects. #+BEGIN_SRC emacs-lisp (split-string (org-entry-get (point) "SUBJECT")) #+END_SRC #+RESULTS: | subject1 | subject2 | subject3 | They are both pretty flexible. Erik Hetzner <e...@e6h.org> writes: > At Fri, 01 Aug 2014 01:21:47 +0200, > Thorsten Jolitz wrote: >> >> Hi List, >> >> here is my first take of rewriting `org-entry-properties'. >> >> The existing function predates the new parser and some Org variables, >> and thus does the parsing and the property classification itself. The >> new version leaves parsing to the parser and property classification >> (mostly) to existing Org variables, resulting in much simpler code. >> >> […] > > Hi Thorsten, > > This doesn’t directly related to this work, but I have been trying to > come up with a workflow for using org-mode for research and have had > trouble with the fact that user properties cannot be multi-valued. So > if a user wants to assign subjects to an entry, they need to figure > some way to assign multiple subjects. > > There are workarounds, but it would be helpful if user properties > could be multivalued. I don’t know if this is feasible given the > current codebase; when I looked into it, it seemed pretty difficult. > > best, Erik -- ----------------------------------- John Kitchin Professor Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 http://kitchingroup.cheme.cmu.edu