Scary module base namespace proposal: Metaweb

Scary module base namespace proposal: Metaweb

am 16.08.2007 23:51:06 von Hayden Stainsby

Hi all,

I'm writing a module to provide a nice interface to a Metaweb, see the
Explanation below for more details on this.

My module gives a perl class and methods to create, send and receive
queries through the Metaweb HTTP/JSON API. It provides authentication,
error checking and translation methods and will include more methods
for reading large query results and some other nice features of the
Metaweb Query Language (MQL).

Since Metaweb doesn't fit into the schema used by DBI driver modules,
and doesn't fit into any of the other namespaces in the Database
section on CPAN I am suggesting sitting it as a base namespace (if this
isn't the correct terminology then I mean you will load it with 'use
Metaweb;').

My second reasoning for this is that I imagine once Freebase is out of
alpha (and allows unauthentication read access) I imagine it will
attract a fair bit of developer interest, enough to justify having it's
own namespace.

It's suggested that I ask here about module names, and I'd love to hear
any feedback from anyone here.

Thanks.

--
Hayden

_Explanation_
(if you've got a Freebase account you might be able to skip this):
A Metaweb is a database like data store designed by Metaweb
Technologies (www.metaweb.com) "with a focus on organizing and managing
complex data structures"[1]. They run a site called Freebase
(www.freebase.com) which is an example of the sort of use that a
Metaweb can be put to. It's also the main reason for this module, as
it's the only Metaweb available that I know of.
There is an existing API for Metawebs based on HTTP requests using JSON
strings to send and receive queries, and another section for fetching
blob-like content in different formats (image thumbnails and the like).

Currently you need to register for an account to access Freebase
(they're free and fairly quick in coming the last time I checked). But
there is an extensive developers section there which explains all these
concepts with far more eloquence than I am capable of.

[1] http://www.metaweb.com/faq.html