Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: new module pl2sql

by Corion (Pope)
on Sep 19, 2012 at 07:34 UTC ( #994420=note: print w/replies, xml ) Need Help??

in reply to new module pl2sql

I briefly looked at the linked documentation, and couldn't find a section on how it compares to Class::DBI, DBIx::Class and other Object-Relational Mappers. If your module is not an ORM, maybe it is something more along the lines of a Triplestore (RDF::Trine)? I didn't find any explanation, but I only looked for a short time.

PS: The site is unreadable with Javascript disabled.

Replies are listed 'Best First'.
Re^2: new module pl2sql
by tqisjim (Beadle) on Sep 20, 2012 at 18:25 UTC

    I would describe pl2sql as an ORM, as the name implies. However, I would describe Class::DBI and the others as an ROM, since it maps database functions (normally implemented in SQL) to class methods. Hence, Class::DBI defines numerous methods to correspond to their database equivalents. For nomenclature, this ORM designation seems somewhat Orwellian- its name has an opposite meaning. In fact, a Class::DBI object is exactly an RDB table represented as a Perl object.

    PL2SQL takes the opposite approach. It provides automatic persistence (in an RDB table) of any arbitrary complex object. PL2SQL has two methods: The first assigns the object to a designated table via a unique ID. The second retrieves the object. It also uses a "Universal table definition" which provides reusability. Finally, a single table can be applied to numerous object types, instead of the one-to-one correspondence required of Class::DBI.

    In fact, the "Universal table definition" is based on an XML representation of an arbitrary object. I lack the expertise to precisely place this module in the Universal jingo taxonomy, but based on Wikipedia, I would describe it as an XML-enabled XML database.

    I took the liberty of posting your response on my website and my response there is structured a little differently. You should have better luck reading the description, but you'll need to enable javascript in order to read the comments. That feature is uses AJAX.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://994420]
and John Coltrane plays...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (2)
As of 2018-02-19 20:12 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (266 votes). Check out past polls.