Peter,
Those are certainly viable alternatives (need to investigate further), but most 
involve learning another language/interface or working at the command line or 
within a script.
The ubiquity of SQL access to a database is a big factor when considering 
migration. One of my teammates is much better with SQL than I am and his 
preferred language is Visual Basic. His role in supporting a database driven 
app has fallen to mostly data maintenance which he accomplishes either through 
the Mysql workbench using it's browsing capabilities and direct SQL, or quick 
and dirty utilities he can write in VB to manipulate the data.
So as I consider implementing part of the system with Neo4j, I have to consider 
that I'll be removing access to and manipulation of that data from other 
teammates who prefer or have expertise with SQL and require that access to the 
Neo4j data be programmatic or via shell/command line which can be limiting in 
the view you have.

The flexible, schema-less nature of Neo4j is a great feature. But at some point 
in order to be able to traverse and understand a graph, a user needs to 
understand how the graph has been built and it's semantics. With tools like 
Mysql workbench you can browse the DB metadata to discover or remember 
table/field names and types, relationships, etc. Not having such a browser to 
discover and visualize a Neo4j graph requires more rigor among a team to 
document and adhere to the network model. Rigor is good but not always followed 
up on. I guess you could use the shell to traverse a graph and dump all of the 
relationship types, etc, but could you dump all of the properties on nodes and 
relationships to get a view of the model? Even with that would you have enough 
information to begin writing traversals to extract or manipulate data? Would 
you understand the semantics? This sort of tool support and general access 
capability will be very useful to Neo4j when its available, IMO.

Thanks for the dialog!

Kalin

On Dec 2, 2010, at 5:48 AM, Peter Neubauer wrote:

> Kalin,
> I think the different shell access possibilities are good candidates
> for fast integration. You have at least
> 
> Neo4j Shell, distributed with Neo4j downloads, see
> http://wiki.neo4j.org/content/Getting_Started_with_Neo4j_Server#Enter_the_Shell
> 
> JRuby scripts, see http://neo4j.rubyforge.org/ and
> https://github.com/andreasronge/neo4j
> 
> Gremlin, https://github.com/tinkerpop/gremlin/wiki/Getting-Started
> 
> Python and others,
> 
> many of these can be used from the command line to read and pipe data
> into Neo4j. Would one of these be an option? Especially the Neo4j
> Shell connects remotely (the others will when the RemoteGraphDB
> component is fixed up) and should be able to do most of the usual
> tasks...
> 
> WDYT?
> 
> Cheers,
> 
> /peter neubauer
> 
> GTalk:      neubauer.peter
> Skype       peter.neubauer
> Phone       +46 704 106975
> LinkedIn   http://www.linkedin.com/in/neubauer
> Twitter      http://twitter.com/peterneubauer
> 
> http://www.neo4j.org               - Your high performance graph database.
> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
> 
> 
> 

_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to