Axel/Michael: The real issue to consider is that Neo4J is not well suited for storing large strings/blobs of data. It is very easy to do, but not really an optimal use of Neo4J. The transaction logs and in-memory caches will quickly get clogged with the large property values. It is probably better to create an abstraction between the "raw" document storage and the "access" veneer, the latter of which Neo is a fine choice. You could use any K-V store, document store, or even the file system itself, and get the "best of both worlds". What I do think, however, is that Neo is not the best choice for the document storage itself (at present).
One other approach that might work is to extend Neo to be able to tell the Neo engine not to cache specific properties and to not place certain actions in the transaction log. This way, Neo itself might be used for storage, without the "transaction clog" and "cache poisoning". ;-) Just a thought... Rick -----Original Message----- From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On Behalf Of Michael Hunger Sent: Sunday, February 06, 2011 4:15 PM To: Neo4j user discussions Subject: Re: [Neo4j] Some brainstorming ideas - 1. Use Neo4j as Document Store Axel, Actually you could do both. I collapsed the "file-system-structure" to a simple notion of collection + key as in mongodb but of course you could use the "filesystem metaphor" to model the b-tree that resolves a key that represents a "path" to the document node. Michael Am 06.02.2011 um 22:09 schrieb Axel Morgner: > Hi Michael, > > just for clarification: Do you refer to how to store the internal > structure of BSON documents, or how to store documents in a > filesystem-like tree structure? > > Axel > > On 06.02.2011 21:50, Michael Hunger wrote: >> Hi there, >> >> this weekend I was away from a computer so I spent some time brainstorming things. I would be interested in any feedback on those thoughts and would like to broaden the audience beyond the devteam. >> >> My question: Has anyone ever tried to use Neo4j as a document store ala MongoDB. >> >> The idea. From the root node have relationships to a number of buckets or "collections". >> >> From each collection root have a b-tree to all key-nodes of the system. >> >> Each key-node is just connected by some specfic relationships (like "contains" or "link" or "subdocument") to its data. (i.e. nodes, relationships and their properties) not necessarily to other parts of the graph. >> >> So for each key node one uses just a default traverser (depth-first, end of graph, limited to outgoing relationships of the mentioned types) to collect the whole document (or custom traversers to retrieve only parts of the documents). >> >> That could be an interesting experiment to run. >> >> WDYT? >> >> Michael >> _______________________________________________ >> Neo4j mailing list >> User@lists.neo4j.org >> https://lists.neo4j.org/mailman/listinfo/user > > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user