You can create a node type "community-role" with two outgoing relations 
"in_community" and "with_role", which respectively point to a "community" and 
to a "role". The "user node" can then have a relationship "has_community-role" 
pointing to a "community-role" node.  Every hypergraph structure can in 
principle be modeled in a property graph by introducing an intermediate node. > 
Date: Fri, 17 Jun 2011 18:52:55 +0200
> From: [email protected]
> To: [email protected]
> Subject: Re: [Neo4j] Node and Relationships as properties
> 
> Peter
> 
> This could be a use case:
> 
> Let's have "users", "roles", "permissions" and "communities".
> 
> Each role is defined as a permissions set. Users have assigned a list of 
> roles for every community they belong to.
> 
> If roles could be assigned this way   (user)-- 
> (has_role)[community_neo4j] --> (role)
> 
> we can manage separately each user, permissions in role and community. 
> we don't need to have a set of roles for each community. The communities 
> won't be erased if role assignments are enacted. And mainly they could 
> be used in  custom traversers and patterns.
> 
> I agree we are not used to see these kind of handwritten graphs, but how 
> can you draw a clean graph and use it in neo4j with referential 
> integrity without the ability of having a node as property value?
> 
> Regards
> Aniceto
> 
> > Aniceto,
> > introducing real Node and Relationship links as fields on Nodes and
> > relationships would essentially blur the distinction between Nodes,
> > Properties and Relationships, and let you treat the graph as a
> > Hypergraph. We find that model too abstract and hard to deal with the
> > edge cases of these structures in real world scenarios.
> >
> > Instead, would it be possible for you to store NodeIDs in properties
> > instead, or serialise Node[] into byte arrays as properties? I don't
> > recommend it since it duplicates and unlinks information in the graph
> > that has to be maintained by triggers and updates, but that would be
> > one possibility. What is the concrete usecase that drives you to these
> > constructs?
> >
> > Cheers,
> >
> > /peter neubauer
> 
> _______________________________________________
> Neo4j mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
                                          
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to