Re: Ideas for World Hierarchy Example

From: Bernard Peek <bap_at_shrdlu.com>
Date: Sun, 14 Jan 2007 23:12:34 +0000
Message-ID: <TenVm4UijrqFFws0_at_delta.shrdlu.com>


In message <1168804255.140817.178420_at_11g2000cwr.googlegroups.com>, Marshall <marshall.spight_at_gmail.com> writes
>On Jan 14, 10:22 am, Bernard Peek <b..._at_shrdlu.com> wrote:
>>
>> How about turning the collective brainpower of the group on a
>> constructive task: design a workable computer-based EAV system. The
>> librarians built theirs 200 years ago, and it has been largely unchanged
>> since Mr Dewey used Mr Aristotle's classification methods to create it.
>> Can we do better in the 21st century?
>
>Been working on this for the last two years with a decent sized team.
>(I argued against this approach early on and lost.) The problems with
>EAV are fundamental, so I don't see any path to doing "better."

It's been done once, by the librarians. I can work out a way to build a functional equivalent but I'm sure it's not an economically viable solution.

>
>EAV is a cheapo way to capture some data when your requirements
>are fuzzy, or when you don't understand your domain well enough
>to model it. It lacks structure, so you necessarily do not get the
>benefits of structure, semantic or otherwise.

I use it to model systems I'm analysing, before I'm ready to try normalisation. That makes it a database where 100% of the users are database analysts. The library system is similar in that 100% of those with write access to the structure are trained analysts.

>
>Sometime I mean to sit down and write up some queries in SQL
>against a fully modeled schema and against an EAV schema and
>compare.

You could but I'm not sure whether it would tell you anything. You might get some insight into the problem if you handed a complex real-life data analysis problem to a bunch of students, and let them populate their databases with different subsets of the data. Now try to design a generic solution to extracting coherent data from data structures that aren't quite identical. That's roughly what you would expect if you gave a bunch of inexpert users an EAV system and a stack of data.

For what it's worth, my solution is to allow users to create new entities but make all of their changes tentative until reviewed by a subject matter expert. The expert can revise the structure and communicate the revisions to users so that they can all use the same structure in the future. It's an idea I came up with about 30 years ago and it's been fermenting in my backbrain ever since. I've refined it a bit, but that's the gist of it. When I first thought of it there was no way it could have been implemented but various parts of my idea have now become feasible, thanks to the Internet and Unicode. I realised over the last few days that the idea of the Wiki fills another hole in my cunning plan.

-- 
Bernard Peek
back in search of cognoscenti
Received on Mon Jan 15 2007 - 00:12:34 CET

Original text of this message