Skip to Content.
Sympa Menu

pcdb - [pcdb] Modelling RDF in relational databases

pcdb@lists.ibiblio.org

Subject: Permaculture Database

List archive

Chronological Thread  
  • From: Paul d'Aoust <paul@heliosville.com>
  • To: pcdb@lists.ibiblio.org
  • Subject: [pcdb] Modelling RDF in relational databases
  • Date: Wed, 20 Jan 2010 13:59:34 -0800

I've been intrigued by all this talk of modelling a permaculture
database in RDF triples. That would make it extremely easy to add new
classes of objects and new relationships and connect them all together
in a really flexible way. This was sort of what I was envisioning as
well, and I didn't know about all the work (e.g., RDF, OWL, ontologies)
that's already been done. I didn't know it was an established
discipline!

Anyway, I found an interesting article about modelling RDF in a
relational database:

http://techblog.procurios.nl/k/n618/news/view/34300/14863/Semantic-web-marvels-in-a-relational-database---part-I-Case-Study.html

And here's a neat-looking library for doing RDF stuff in PHP:

http://arc.semsol.org/home

I don't know whether people want to be using such an ignominious
language as PHP for something like a permaculture database, but it's
what I know. I'm definitely open to learning a new language though --
Python looks especially attractive.

I saw a couple posts on the permaculture mailing list, and can't find
them anymore. Would it be possible for people to use the pcdb list
exclusively when talking about a database? The pcdb stuff kinda gets
lost in all the chatter about permaculture-at-large.

I think that, if we could create a tool that hid most of the difficult,
confusing guts of our data storage -- like Freebase, only even simpler
-- then we'd have a winner of a tool, and something that could be used
outside the sphere of permaculture!

Here's what I envision:

Different people sign up for different access -- editors and guests
would be able to edit/add nodes, create links, and offer opinions
(stated in a triple, that'd be something like 'duck needs openwater').
Schema administrators would be able to create and/or import vocabularies
and schemas -- essentially, be able to make new classes available for
everyone else to use.

There could be weighted opinions -- e.g., if there are fifty 'tomato
needs fullsun' opinions, and only five 'tomato isokaywith partialsun',
it shows the tomato's sun needs as mostly full sun. (Honestly, I'm not
sure how this will work, because as far as I know, RDF doesn't allow you
to define the strength of a relationship -- does anyone know how you
could model something like this? It would be very confusing to create a
vocabulary like 'hates', 'dislikes', 'neutral', 'wants', 'needs', and
then try to explain to the computer that this is supposed to be a
weighting system. Ideally, you could specify an attribute and an object,
like 'tomato needs 6 sunhours'. I don't think that's valid RDF though?)

Revision control -- People could make changes to text-based information,
and those changes could be rolled back.

Connection maps -- I think this would be the killer feature of a
permaculture database. Somewhere on a node's page, you'd have a map that
showed relationships and their relative strength. This could be as
simple as a tag cloud, with font size denoting intensity of relationship
(e.g., whether melons really love rock mulch or don't care so much) and
intensity of colour denoting reliability of relationship (e.g., how many
people have noticed this relationship and whether there's a lot of
disagreement). Or it could be as complex as a diagram with the node in
the centre, and spokes radiating out to connected nodes.

And then we'd have to create classes... I think that it would be good to
use accepted ontologies for certain items -- for instance, I'm sure
there are ontologies for plants and their cultivars, species, genera,
tribes, families, etc -- but some we could make up ourselves.

Off the top of my head, these would be some useful classes:

Taxonomical classes (e.g., kingdom, order, family, tribe, class, genus,
species, cultivar)
Plant
Animal
Bacterium
Fungus
Tool
Biome
Person (we could use FOAF ontology)
Organisation
Event
Geolocation (there are already ontologies in use out there)
Image
Document
Structure
Guild

Thoughts?

Paul d'Aoust




  • [pcdb] Modelling RDF in relational databases, Paul d'Aoust, 01/20/2010

Archive powered by MHonArc 2.6.24.

Top of Page