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:

    http://neverspace.net/_tmp/sketch-start080831.rdel.html

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
will).

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

Best regards,
Niklas



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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 21:45:25 GMT