The Pointrel Social Semantic Desktop is intended to help people collectively
create sets of RDF-like triples (by working in small workgroups that can be
coordinated through a web server CGI script). These triples can be used to
represent manufacturing data and build a semantic web of related content.
I put an initial 0.0.1 version of the Pointrel Social Semantic Desktop
(intended to support OSCOMAK) up on the Pointrel project on SourceForge as a
release. It can be downloaded here:
Future versions could, in theory, be self-hosting on a web site starting
from this release (where all future code about the system is checked into
the system itself). But I'll probably keep stuff on SourceForge for a while.
It's "bleeding edqe" obviously, so I suggest you don't download it unless
you are a Java/Jython-experienced programmer interested in the semantic web.
Mike, you might be interested in it, since you got the last desktop system
to work for the OpenVirgle project. This is pretty similar to it, but it has
a "Open Remote Archive" menu option. :-) I should probably set up a test
server for people to play with somewhere.
It's at the point where it might start being useful to build on, *OR* I
might discover some major flaw in the whole conception, or a better project
by someone else, or that it is too hard to take it further, etc. Or that
everyone else is very happy with their Semantic MediWikis. :-)
One loose end is author strings (which are derived from local user IDs, and
so are not globally unique worldwide, although you can put in any string you
want as your user name). Is this a showstopper problem or just a minor
annoyance? I'm not sure yet.
This release is mostly just to show progress. There are no easy to use end
user tools beyond the low level browser of raw triples. Hopefully later
versions (if any) will be more end user friendly, building applications on
top of this base. Here is a simple GUI design related to that by Mike Harris
for the OpenVirgle project to think about as a starting point of how this
could be used to store manufacturing data:
Will this Pointrel system ultimately be useful for open manufacturing,
underpinning a system called OSCOMAK? And if it gets that far, will it be as
good or better than alternatives like NEPOMUK or whatever Bryan has cooking
with SKDB and so on? Only time will tell. There are already about fifty
semantic web tools listed here:
But the Pointrel system may be the only one that predates the origin of
WordNet. :-) Which maybe shows how slow I code. Or something like that. :-)
One key "feature" (or annoyance :-) of this release is that it can include
licensing information for every transaction and even every triple added to
an archive. So, if people use software based around this, they can be
explicit about each license they grant in a fine-grained way, and the system
could (in theory) analyze the licensing of sets of archives for conflicts or
completeness. This possibility is something I brought up in this thread to
gnu.misc.discuss on May 5, 2001:
"License management tools: good, bad, or ugly? "
The section "A LICENSE REJECTION PROTOCOL" in that post shows what someday
might be possible, with tools designed to actively reject unfree content, so
we can build a more free world, one freely licensed triple at a time...
I included a version of the README.txt file below.
(A version of this email was previously sent to
Pointrel Social Semantic Desktop
The Pointrel Social Semantic Desktop helps people collectively create sets
of RDF-like triples.
The main code is under the LGPL license.
These triples consist of a subject, predicate, and object. A triple can also
have a context (or it can be blank).
Each of these four fields can have a namespace, or they can be left blank.
It requires Java 1.5 or later.
It is written in Python and Jython. A version of Jython is included in a jar
There is an ArchiveBrowser written in Jython.
To try the ArchiveBrowser on GNU/Linux, from a shell, switch to the
directory this README file is in, and type:
To try the ArchiveBrowser under Windows, switch directories to where this
README file is and type:
Try loading the coding_examples or data_examples archives from the file menu.
The browser has three listbox panels up top, for a selected list of subjects.
Use the context menu in the leftmost listbox to bring up a menu to add
individual subject of interest, or to add all possible subjects.
Then you can click on them, and see a list of related predicates in the
Clicking on a predicate used by triples will bring up a list of versions in
the rightmost listbox.
The version list includes information about a timestamp, a list of authors,
and a list of licenses.
Remote repositories can be browsed from the internet.
To do that, a python cgi script needs to be installed on the server.
That script is called "pointrel_archive_cgi_interface.py" and is in the
It is written for Python, so you will need to have Python installed on your
It does not run as a persistent server. It starts up for each request.
There is also an html form in the web server directory to access a
repository online directly for testing.
That form is called "pointrelTestWebServerUsingCGI.html".
You would eventually need to put that behind SSL to keep your passwords secure.
Do not use an important common password you might use elsewhere with this
system right now as passwords are still stored and transmitted in plain text.
You can also run the cgi script locally, by running "python test_server.py"
from the directory this README file is in.
This starts up a python based web server locally on port 9999.
You can browse to that port with a URL like this in a web browser:
When you access a remote repository, a local copy is cached in the
The name of this archive is the uuid of the remote archive (not the remote
You can open this copy of the archive as a local archive file later if you wish.
Passwords and users for remote access are defined in a "meta.pointrel" file.
You can modify this remotely with a user who is defined as a manager, or
locally with the browser.
There is an example of a manager (pointrel) and two users (ace and kryten)
in the meta.pointrel example file.
The main database code is in "pointrel20081028.py".
There is also an older version of the pointrel database code only used for
importing old files in "pointrel20071003.py".
jreload.py and jreloadWindow.py are only used for development purposes.
They let you reload modified code without shutting down the browser. They
are enabled in tests.py.
Written by Paul Fernhout <pdfernhout at kurtz-fernhout.com>
Please mention my first name "Paul" in any email to me to bring it to my
attention in my inbox.
20081114 Version 0.0.1 Initial release with minimal functionality for