[Home] [By Thread] [By Date] [Recent Entries]
On 14/02/2012 08:57, James Fuller wrote: > every year at XML Prague, Michael Kay either via his talks or > questions makes a single comment that spawns a few hundred hours of > research on my part ... this year was his minor mention of 'functional > databases' ... which sent me scrambling. The functional database system that impressed me the most was IRIS: http://www.hpl.hp.com/techreports/90/HPL-90-108.pdf The data model for IRIS consists of objects, functions, and types. What you think of as attributes and relationships in other models are represented as functions (a function [=method] of an object that yields either an atomic value or another object). "Stored" and "derived" data are modelled symmetrically as functions (extensional functions or intensional functions). Types are objects, and relationships among types as well as relationships between types and instances are modelled in the same way as other relationships, i.e. as functions. A particularly nice feature is that objects can have multiple types and can change their type - so an employee can become a pensioner with no change of identity. Functional composition gives you effects similar to relational views, but in a much cleaner way. A query can be considered an inverse function: if there's a function from person to name, then it has an inverse which is a function from name to person, which gives you the basis of a query. > > a few thoughts immediately came to mind: > > * how valid is it to say 'xquery is a functional > programming/query language' ? I think 3.0 makes this statement true Yes, I think in 3.0 we have all the ingredients of a functional programming language. > > * is it possible that we could rename xml databases (who have > xquery) into 'functional database' especially if they employ XQuery > 3.0 If you look at the IRIS paper quoted, then no; because a key theme of functional databases was to take relational normalization a step further (creating something very like RDF triple stores) and reduce all information to a single canonical form by analyzing functional dependencies. An XML database will never achieve that because XML offers so many different ways of saying the same thing. > > * does anyone on the list has experience with pure functional > databases in existence > > They'll need to have grey hair, because the fashions moved on. But I saw some great work done in the 1980s with functional database in areas like criminal intelligence gathering - the kind of areas where people are now trying to use RDF, for exactly the same reasons. Michael Kay Saxonica
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |

Cart



