W3C home > Mailing lists > Public > semantic-web@w3.org > September 2008

Re: Plan3 — A Procedural RDF Programming Language

From: Niklas Lindström <lindstream@gmail.com>
Date: Wed, 24 Sep 2008 14:14:41 +0200
Message-ID: <cf8107640809240514h5d2dcda3j46067f87ee5dd4a2@mail.gmail.com>
To: "Sean B. Palmer" <sean@miscoranda.com>
Cc: semantic-web@w3.org

Hi Sean!

I think this is really cool! Not the least since I recently toyed with
the idea of an imperative, somewhat functional cross between Python
and N3. While I had Pluvo somewhere in the back of my head, I sadly
had missed your post about Plan3.

I hadn't *any* thought about presenting my silly sketch yet (or at
all), but your post prompted me to throw the idea out here (especially
since I considered contacting you about it sometime, since I figured
you might be thinking along the same lines..).

The working name is "Ardele", for "Resource Decription
Extraction/Execution Language" (RDEL). I haven't even grounded a plan
for implementing it.

Now, I don't know how much sense this sketch makes; it's mostly a
written thought in progress:


The gist of it is: an imperative language where all datatypes are
RDF-based, and the runtime context is a graph (or several contexts).
It "looks" class-based, but all public symbols are URI:s, including
"methods" - so it's more of a different way of solving the "open class
vs. monkey patching" schism you can see between e.g. ruby and python.
I don't know yet if I'd like for it to be a general-purpose language
or mainly for RDF extraction (sort of a PL/SQL for SPARQL if you

Perhaps you will find the idea interesting (if it's even legible that
is), or someone else here.

Best regards,

On Wed, Sep 24, 2008 at 1:06 PM, Sean B. Palmer <sean@miscoranda.com> wrote:
> In October 2007 I made a procedural RDF programming language and
> implemented it on top of CWM. Today I've released all the code, tests,
> and documentation that I could find relating to this project:
> http://inamidst.com/sw/plan3/
> The main files to look at are:
> http://inamidst.com/sw/plan3/plan3.py — the implementation
> http://inamidst.com/sw/plan3/tests — a summary of the tests
> To make it work, you'll have to hook it up to cwm somehow. I don't
> recall how I did this, but I don't think it was more than a few lines
> to be changed; I don't have a patch available. I don't have anything
> else available relating to this project, that I know of, except what's
> in that directory.
> The following old Whits post describes some of the rationale of the language:
> http://inamidst.com/whits/2007/10#plan3
> And, somewhat, how it works. This software is not supported to any
> degree, and I don't plan on working on it or developing it any
> further. I do not recommend that it be used, but who knows what other
> value it might have?
> (At the very least, it demonstrates how strange the idea of doing all
> Semantic Web programming declaratively really was—though of course all
> Semantic Web programming is strange Technobunkum* to a large degree
> anyway. This half-baked data-structured mongrel doesn't escape that,
> despite its heritage in Pluvo. The idea of having
> procedural-imperative accessors to a declarative environment, which is
> the direction in which plan3 was heading, may however be nifty to
> those who are interested in that sort of thing.)
> Thanks,
> * http://inamidst.com/whits/2008/technobunkum
> — Recommended reading for all Semantic Web engineers.
> --
> Sean B. Palmer, http://inamidst.com/sbp/
Received on Wednesday, 24 September 2008 12:15:17 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:09 UTC