[pdb-discuss] Re: Somewhere to start

Rufus Pollock rufus.pollock at okfn.org
Sun Jul 8 12:59:07 UTC 2007


James Casbon wrote:
> On 06/07/07, Rufus Pollock <rufus.pollock at okfn.org> wrote:
[snip]
>>
>> There is also a trac installation if you'd like to browse the code:
>>
>>    http://p.knowledgeforge.net/pdw/trac
>>
> Ok, I'll have a look.  I'm actually much more familiar with Django
> rather than pylons and sqlachemy rather than elixir.  But hey, they

elixir is just a small wrapper on top of sqlalchemy to make it quicker 
to get started.

> can't be that different right, but I sure would miss the auto admin
> interface.

Sure. Pylons doesn't have anything exactly equivalent though there is 
something similar at an early stage of development here:

   http://adminpylon.devjavu.com/

> What does the data look like?  I mean is there a model in your head?
> Presumably its something like artist -> album -> track or something.

We currently have a basic domain model in:

http://p.knowledgeforge.net/pdw/svn/trunk/src/pdw/dm.py

(This in the old sqlobject setup we used when doing the wiki prototype 
and I'll be migrating this to the new pylons setup asap). It is not at 
all 'Album' oriented but goes like:

Artist / Work / Recording

This is rather different from the MusicBrainz approach (which is similar 
to what you mentioned) and was rather driven by the fact that we are:

a) Focused on copyright issues (so distinction between authorial and 
recording copyright matters)
b) looking at early work which has a lot of classical (where creator of 
work is different from performer and we have lots of recordings of the 
same work e.g. Beethoven's Ninth).

I think designing a domain model that will really work for everything is 
*hard* so I think we should try and keep things simple and then refactor 
(suggestions as to what would be simplest are very welcome).

> Where is the data coming from?

One set of data is the stuff we have on authors at:

http://p.knowledgeforge.net/pdw/svn/trunk/data/composers.txt

We have written a small parser for this, see:

http://lists.okfn.org/pipermail/pdb-discuss/2007-March/000169.html

Other data is BBC grams data:

http://p.knowledgeforge.net/pdw/A1_sample.txt

> The biggest bugbear in doing this stuff with Django was schema
> migrations, I don't know if elixir has anything better to handle
> these.

SQLAlchemy has something called migrate but I haven't used that yet.

~rufus

PS: do cc the list on replies if appropriate




More information about the pd-discuss mailing list