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

Reply via email to