The following module was proposed for inclusion in the Module List:
modid: REST::Neo4p
DSLIP: adpOp
description: Perl object bindings for a Neo4j database
userid: MAJENSEN (Mark Allen Jensen)
chapterid: 7 (Database_Interfaces)
communities:
Hope to run it past neo4j folks via chatroom/mailing lists
similar:
Neo4j
rationale:
To preserve namespace, I chose the REST top level, since the the
ORM communicates with the Neo4j server through their very complete
REST API. The only other module interfacing with Neo4j is the
Moose-based 'Neo4j'. The high-level design appears similar, wherein
objects associated with nodes, relationships and indexes are
created, modified, and deleted in the database via actions on the
objects. My system is plain Perl 5, with dependencies only on LWP
and URI, which may appeal to some. I want to provide as complete an
interface to the Neo4j API as possible, which will include support
for Cypher queries; this has not yet appeared in Neo4j. My
underlying REST client is built to be usable as a Neo4j client
independently of the ORM, if the user desires more control or has
other ideas. The client encapsulates the errors, so that I can
provide more context-based error handling and more informative
messages at the ORM level. It also allows the user to query the
available actions, which are dynamically loaded from Neo4j
responses. I think this approach will make the system more robust to
changes in the API at Neo4j. These are some advantages I see, but
I'm not so interested in competition, just would like to get the
code out there and hope the peeps find it useful.
enteredby: MAJENSEN (Mark Allen Jensen)
enteredon: Wed Aug 29 01:23:21 2012 GMT
The resulting entry would be:
REST::
::Neo4p adpOp Perl object bindings for a Neo4j database MAJENSEN
Thanks for registering,
--
The PAUSE
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=13a00000_2267f0c510724639&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=13a00000_2267f0c510724639&SUBMIT_pause99_add_mod_insertit=1
Peek at the current permissions:
https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=REST%3A%3ANeo4p