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.
next 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.