all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andrew Hyatt <ahyatt@gmail.com>
To: emacs-devel@gnu.org
Subject: [ELPA] New package: triples
Date: Tue, 25 Oct 2022 20:54:48 -0400	[thread overview]
Message-ID: <m2ilk7s8tj.fsf@andrews-mbp.lan> (raw)


Hi everyone,

I've created a new package, triples, which can be found at 
https://github.com/ahyatt/triples.  I'd like to add this to some 
ELPA, and would prefer the gnu ELPA.  I will be talking about this 
package, and examples of its use, in the upcoming Emacs 
conference.

The package is a library which is a layer on top of sqlite, 
designed to store data in a particular format, where everything 
goes into one table. All data is expressed as "triples", a link 
between a subject, and an object, via a predicate.  This is 
similar to the RDF standard.

With the triples package, a schema can be defined, which also is 
stored in the same triples data.  The schema controls what are 
valid representations in the database.  This takes the form of 
types and their properites.  Data about entities, and their types 
and properties can be stored and retrieved according to that 
schema, and the schema can be added by other clients, letting 
packages build on top of the data by adding new types, and letting 
the data live together in a way that's difficult to do otherwise. 
For example, one package could provide a way to store contact 
information in the database.  Another package could layer on an 
annotation package onto that that lets contact and any other 
entities contain annotations.

Another way to think of this is that it's a database that allows 
independent types, each type having a predefined set of 
properties, and entities that are stored can have an arbitrary set 
of those types.

You can see a use of this in my other package that I'm developing: 
https://github.com/ahyatt/ekg.  The package does work, and I am 
using ekg regularly at the moment without issues.

I am the sole contributor, and have FSF papers.



             reply	other threads:[~2022-10-26  0:54 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-26  0:54 Andrew Hyatt [this message]
2022-10-26  2:52 ` [ELPA] New package: triples Stefan Monnier
2022-10-26  5:52   ` Stefan Kangas
2022-10-26 13:23   ` Andrew Hyatt
2022-10-26 13:29     ` Stefan Monnier
2022-10-27  5:15       ` Andrew Hyatt
2022-10-27 15:34         ` Stefan Monnier
2022-11-03  2:32           ` Andrew Hyatt
2022-10-27  3:36 ` Jean Louis
2022-10-27  5:19   ` Andrew Hyatt
2022-10-27 19:15     ` Jean Louis
2022-10-27 23:33     ` Jean Louis
2022-11-03  2:37       ` Andrew Hyatt
2022-11-03 16:57         ` Jean Louis

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

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

  git send-email \
    --in-reply-to=m2ilk7s8tj.fsf@andrews-mbp.lan \
    --to=ahyatt@gmail.com \
    --cc=emacs-devel@gnu.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.