[rdfweb-dev] ANN : IdeaGraph 0.59

Danny Ayers danny666 at virgilio.it
Tue Jul 1 17:00:37 UTC 2003

I've just uploaded a new build of IdeaGraph (version 0.59) and thought some
folks here might be interested.

This was going to be a quick note but it's rambled on a bit, so I'll post it
to my blog as if that's what I intended all along ;-)

There's a whole pile of screenshots at :

Background Notes

IdeaGraph as a whole is a commercial project, but a large proportion of the
source (the useful bits!) will be available under an open source license
(LGPL). Some more about licences and stuff below.

IdeaGraph is intended to be two things :

1. An integrated set of tools for non-specialists* for creating and managing
knowledge. The primary human interface is a mindmap-like graphic tool,
machine interfaces will provide direct Semantic Web compatibility.   It can
manage local and/or remote documents, with user interface elements designed
to make it quick and easy to organise these. It will be a Semantic Blogging
tool - RSS feeds (inc. 2.0) can be read newsreader-style, but their contents
included in the local knowledge base and processed and republished along
with original material. Existing documents on the web or locally can be
referenced by the system as part of the knowledgebase.

2. Danny's Science Project
An integrated set of tools for me to muck about with SemWeb stuff, and help
build all the other stuff I want.

1. is the primary focus, but I find it impossible not to slip into 2. so I
might as well just acknowledge it.

The version numbering reflects what proportion of what I want in version 1.0
has been completed. That varies a little from week to week, but most of the
core is in place, most of the to-do is about getting things properly usable.
Most of the things that are currently hinted at
(blogging/newsreading/project management/FOAF management etc etc) will be
made more concrete. One or two bits will be added (I've not put in the
search stuff yet). Things that are currently very Science Project (e.g. the
inference engine) will be tied into friendly user interfaces.

* Auntie Mary and Uncle Doug

Geeky Bits
It's a desktop app, written in Java and a lot of the heavy lifting is done
by Jena. The graph interface is built on JGraph. A custom tree-based RDF
exploring component is used a lot, filtering on the nodes will be used to
make it appear special-purpose.

The primary persistence language used is RDF, for both user diagram data and
system settings. Most of the internals are tied to the RDF model in one way
or another. The nodes in the diagrams ("ideas") correspond to clusters of
RDF, e.g. rss:item or foaf:Person (this is still work in progress).

The aim is to make things so that the user doesn't have to know that RDF is
involved at all. Their conceptual model will be ideas and relationships
between them, entirely in human terms.

Scripting facilities are available (Python).
Its got the beginnings of an inference engine, Prolog-based (no tabling

Import will be possible from HTML, any XML (mostly through XSLT, though
direct for RDF/XML), filesystem treewalking, webcrawling and RDF scuttering.
(The harder bits of these have mostly been done, but there's a lot of glue
still needed).
Some protocols will be embedded to receive messages from elsewhere, and
(probably not in version 1.0) proxies will be put in place so that
potentially any user interaction with the Internet can be fed into the

Export will be to anything you can think of and mail me about. HTML, various
XML formats, a few image formats, blog protocols, ftp, whatever. (A lot of
the harder bits of this has already been done).

Pluggable tools include an RDF Editor (based on the tree component), HTML
editor and XSLT editor/runner. These are all intended to be pretty
lightweight and just provide bare-bones utility.

Various other bits and pieces are work-in-progress (such as a web
spider/Wiki interface) but none of their functionality is available in the
current release. It has/has not got an embedded http server depending on
whether or not I broke it recently.

Attitude Changes
Previously I was calling IdeaGraph a Personal Knowledge Manager - this still
applies, but I think is really a bit too vague and woolly, and at this stage
a bit misleading. I've not implemented email interfaces yet, or things like
an address book (though thanks to FOAF the hard work has already been done).

What's worse, most people aren't really familiar with the idea of tools that
can at once be domain-specific and cross-domain. There are tools like e.g.
diagram editors with plug-in sets of images, and certainly  pluggability
that goes beyond this example is around, but nothing like the tool-sharing
possible when you use ontologies. The operating system in its current
exposed sense (filesystems etc) evaporates, and applications just aren't the
same any more... The SemWeb idea really seems to turn things around from
normal expectations.

So one big problem I've had has been explaining what IdeaGraph is and what
it does.

IdeaGraph is intended to help get things done, and at the moment the main
thing I want to get done is IdeaGraph, a (software) project. So in a
cook-your-own-dogfood way I've been thinking more about IdeaGraph as a kind
of project management tool. This shift in focus works quite well - rather
than having the newsreading stuff there for entertainment value, it's there
as a research tool. Blogging becomes more of a kind of reporting technique,
and (local and remote) docs can be linked in to form a knowledgebase
relevant to the project at hand. The general-purpose project vocabulary*
I've also been working on, together with the idea of project management will

* http://purl.org/stuff/project

Licenses and Stuff
I've finally settled on an approach to the license I feel comfortable with.
IdeaGraph as a whole entity will be closed source. But most component parts
of it will be open source. There will always be a version of the IdeaGraph
product available for no charge, the main benefit of paying will be support
and (especially) feature request implementation.

When I did make the whole source available, most of the feedback I got was
from 1. people who wanted to adapt IdeaGraph to work with their own systems
(one or two of which even used RDF!) or 2. people who wanted to cherry-pick
components for their own apps. Mostly 2. I do want this project to pay for
itself at least, so I decided that anyone in category 1. should just mail me
and we'll work out some way of doing it together, using a commercial license
if it's a commercial system, a no-fee one if it's a non-profit enterprise.
i.e. partnership.
Regarding 2. I think cherry-picking is a Good Thing (tm) and so as time
permits (or people ask) I'll make the source to component parts available
under the LGPL licence. This will include things like the external editors,
the inference engine and so on. Hopefully if anyone improves on the bits and
bobs, the improvements can be fed straight back into IdeaGraph.
Anyone just looking to cherry-pick a graph component (the most popular
harvest) will be pointed towards JGraph and/or Touchgraph.

I've not had a look recently at the pricing of similar products, but my rule
of thumb will be to price it so that I myself wouldn't hesitate in buying
it. Rough guess right now is in the region of $60 (USD) for version 1.0.
I'm getting increasingly distracted by having to do stuff to pay the bills
(writing, pool cleaning...) so I'm planning on putting up a PayPal button,
offering a version 1.0 licence in advance for half price (no guarantees!). I
reckon it's worth trying, and it's a lot more motivational that just saying
'Please Donate'.

...and I'm now officially on holiday for a month ;-)




More information about the foaf-dev mailing list