I'm evaluating databases to use for my application, and was wondering if neo4j might be appropriate.
We are currently using a triple store db, but are looking to move away due to performance issues. Our business requirements demand a dynamic schema. Our application revolves around user defined entities. Each entity is a tabular dataset with user defined columns and data types. Entities can be related to other entities, most often via parent-child relationships. It seems that where graph databases excel is in regards to relationships. While we do require relationship support, the relationships will not likely go more then 2 levels (Parent -> child -> child), and the vast majority of the use will be at the root node level. We need to be able to perform ad-hoc queries on individual entities properties, with the occasional join. These need to execute quickly as it is an integral part of our user ex. Another requirement is that we need to support multiple projects on a single neo4j instance, and keep the data separate. I think that neo4j only supports a single graph? I think this could be accomplished by prefixing the entity name with the project. The reason I look to neo4j over a RDMS is the flexible schema. Each entity consists of a set of user defined attributes. Some will be required, and others will be optional. Ideally we could store only the attributes provided by the user, and not have any nulls in the db. If anyone has any thoughts about using neo4j for our use case, that'd be great. -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
