Release 0.4.1 - Migrations !

5 views
Skip to first unread message

Andreas Ronge

unread,
Mar 11, 2010, 2:09:30 PM3/11/10
to neo...@googlegroups.com
Hi

I have just released neo4j.rb 0.4.1.

Neo4j.rb now supports migrations for upgrading and downgrading the database.
For information how it works see
* http://neo4j.lighthouseapp.com/projects/15548-neo4j/tickets/108-migrations
* http://neo4j.rubyforge.org/index.html (search for Migrations)
* http://neo4j.rubyforge.org/classes/Neo4j.html the migrate method
* Example of usage:
http://github.com/andreasronge/neo4j/tree/master/examples/imdb/
* RSpecs: http://github.com/andreasronge/neo4j/blob/master/test/neo4j/migration_spec.rb

Changelog
* Migrations (#108)
* BatchInserter (#111)
* Neo4j::Relationship.new should take a hash of properties (#110)
* Upgrade to neo4j-1.0 (#114)
* Bigfix: has_one should replace old relationship (#106)
* Bugfix: custom accessors for NodeMixin#update (#113)
* Bugfix: Indexed properties problem on extented ruby classes critical
"properties indexer" (#112)

In the next version 0.4.2 I'm thinking of improving the lucene integration.
Maybe I will have a look at using two phase commit, solr integration
(???), fix the memory problems for reindexer.

What would you like to be included in the next release ?

/Andreas

Max De Marzi Jr.

unread,
Mar 11, 2010, 2:18:41 PM3/11/10
to neo...@googlegroups.com
Thanks Andreas.

I seem to keep having to use custom ReturnEvaluators for most of my traversals.

How about importing the ReturnEvaluator and StopEvaluator classes from neo4jr-simple.

My code looks like spaghetti with java mixed in here and there, sometimes I'm not even sure what language I'm in.
 


--
You received this message because you are subscribed to the Google Groups "neo4jrb" group.
To post to this group, send email to neo...@googlegroups.com.
To unsubscribe from this group, send email to neo4jrb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/neo4jrb?hl=en.


Justin Wood

unread,
Mar 11, 2010, 2:32:34 PM3/11/10
to neo...@googlegroups.com
That's awesome, thanks Andreas, probably takes away the last reservation I have about loosing my relational database!

Is there somewhere where you have described the underlying storage mechanism for Neo4jrb? ... and just how things are affected when you make a change?  Like say you add a field to your model and DON'T run a migration to add a property with, say, nil in it for all old objects.   What's the behavior supposed to be?

Cheers
Justin



--
You received this message because you are subscribed to the Google Groups "neo4jrb" group.
To post to this group, send email to neo...@googlegroups.com.
To unsubscribe from this group, send email to neo4jrb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/neo4jrb?hl=en.




--
Justin Wood
Senior Software Architect
 

New Zealand Office,
57 Wellington Street,
Freemans Bay,
Auckland,
New Zealand


M  +64 27 225 0749  |  P   +64 9 370 0168  |  F   +64 9 361 6504
E   justi...@trifectagis.com  |  Free:    0800 trifecta
Skype:  nztrifecta

www.trifectagis.com

Andreas Ronge

unread,
Mar 12, 2010, 1:14:03 AM3/12/10
to neo...@googlegroups.com
HI

Notice that my traversals returns object of type Enumerable.
Also, there is a filter method for the Neo4j::NodeMixin#outgoing.filter
and for declared has_n relationships, e.g. person.friends { age > 40 }
which uses the org.neo4j.graphdb.ReturnableEvaluator.
So I think there is no need to for the ReturnableEvaluator, right ?

The StopEvaluator would be nice to have, not sure what the API would look like
The depth method in the traversal actually creates a StopEvaluator,
maybe I can extend the
depth method to accept a proc parameter in order to support custom
StopEvaluators, what do you think ?
Cheers
/Andreas

Andreas Ronge

unread,
Mar 12, 2010, 1:19:54 AM3/12/10
to neo...@googlegroups.com
On Thu, Mar 11, 2010 at 8:32 PM, Justin Wood
<justi...@trifectagis.com> wrote:
> That's awesome, thanks Andreas, probably takes away the last reservation I
> have about loosing my relational database!
> Is there somewhere where you have described the underlying storage mechanism
> for Neo4jrb? ... and just how things are affected when you make a change?
>  Like say you add a field to your model and DON'T run a migration to add a
> property with, say, nil in it for all old objects.   What's the behavior
> supposed to be?
Accessing a property that does not exist will return nil, so in this
case that's not a problem.
Adding a fields or relationships with class methods property, has_n or
has_one does not change the database in any way, it's only a Ruby
thing which allows you to access neo4j relationships/properties in an
easier way.
Reply all
Reply to author
Forward
0 new messages