Hi Stefan, some short answer inline.
Am 21.07.2011 um 11:27 schrieb acmeguy: > Hi, > > I'm relatively new to graphs and Neo4j but I have gathered a list of > questions I hoping this community can answer or point me onward towards > them. > > 1. Typed edges > - What is available in Neo4j to tackle semantics (as in hierarchical > structure of edge types) > - What are the best practices when dealing with semantics? Right now Neo4j-Edge Types are just a flat structure (i.e. RelationshipTypes). I'm not fully understanding what your use-case / intent is, perhaps you can elaborate. What you perhaps could do is to create nested enum types (that are usable for Rel-Types) and resolve semantics by navigating those. Another idea is just to create a real composite structure of Edge Types (instances of a java class) which form a tree. You could have this structure resolving the semantic meaning of a neo4j - relationship-type and perhaps even use rendering of the tree paths to derive a representation (e.g. dot or slash separated paths to the root) to use in the concrete relationship-type of the graph. Semantics are otherwise derived from the structure of the graph, i.e. paths to category nodes and the relative place of a node in its network. But also node and relationship-properties and relationship-types are used to capture semantic information. > 2. Versioning > - What are the best practices when dealing with data versioning? Most customers roll their own version of versioning as this is heavily domain specific. A more generic version (PoC) was created by our David Montag (https://github.com/dmontag/neo4j-versioning) > > 3. Hypergraphs > - What is the practical advantage of supporting multi target edges other > than to reduce the edge count in a graph? > (I ask only because I'm trying to better understand the architectural > difference between Neo4j and HypergraphDB) > I would let the community answer that, besides reducing edge count and usefulness for some limited modeling purposes I have found no significant advantages for HyperGraphs. > 4. Property count and property data > - Is there a practical limit to the number of properties per node? In theory they are not limited but in practice it is sensible to limit them to a less than hundred as they would be loaded into the node cache. Most probably a domain having that many properties on a single node lacks some abstractions and should perhaps split those domain entities into a set of related ones. > - Would anyone store binary content in them (are they all loaded into memory > as a part of the graph)? No, not that I know of, while it is possible it's not very efficient. Rather store it in an optimized blob store and keep the URI/locations in the graph. Then you can also use a CDN or such to deliver the media to wherever it is needed. > > 5. MQL > I have used MQL (the Freebase.com graph query language) and I have, in my > limited use of it, found it quite intuitive. I have tried Cypher and SPARQL > as well. > - What is the state of single industry wide SPARQL is the defacto standard besides than that everyone rolls his own kind of query language. Besides Cypher Neo4j also supports Gremlin an imperative traversal DSL for groovy (http://tinkerpop.com/gremlin) > > We don't have to deal with data in the I-have-to-have-automatic-sharding > range so I leave performance and scalability issues out for now. Good to hear :) > > We are planing to use Neo4j for a sub-CRMish structure and HBase for event > logs (time series etc.) and realtime analytics/statistics. Would anyone > claim that a craph database is suitable for that? > Neo4j was developed from the need of having a database that can actually store CRM data more efficiently (and even more so traverse it faster). So I'd say this is a sweet spot. Can't say that much about HBase but it seems a good fit. Welcome to the World of Graphs: http://www.youtube.com/watch?v=V68R9siXiEk Cheers Michael > Best regards and thank's for the great job, > -Stefan > > > -- > View this message in context: > http://neo4j-community-discussions.438527.n3.nabble.com/Evaluation-questions-Neo4j-features-tp3188069p3188069.html > Sent from the Neo4J Community Discussions mailing list archive at Nabble.com. > _______________________________________________ > 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