Re: [Neo4j] Keeping context information in the Graph

2011-08-06 Thread Niels Hoogeveen

What you describe here is a ternary edge, something I try to cover in the 
Enhanced API.

Your film example can be modeled as follows:

There is an Edge STARS with the EdgeRoles: Actor, Film, Role. 

We can now state:

STARS
-- Actor -- Brad Pitt
-- Film -- Fight club
-- Role -- Tyler Durden

STARS
-- Actor -- Edward Norton
-- Film -- Fight club
-- Role -- Fight club narrator, Tyler Durden

or we can state

STARS
-- Actor -- Brad Pitt, Edward Norton
-- Film -- Fight club
-- Role -- Tyler Durden

STARS
-- Actor -- Edward Norton
-- Film -- Fight club
-- Role -- Fight club narrator

or we can state

STARS
-- Actor -- Brad Pitt
-- Film -- Fight club
-- Role -- Tyler Durden

STARS
-- Actor -- Edward Norton
-- Film -- Fight club
-- Role -- Fight club narrator

STARS
-- Actor -- Edward Norton
-- Film -- Fight club
-- Role -- Tyler Durden

Niels

 Date: Sat, 6 Aug 2011 15:51:51 +0800
 From: asianf...@gmail.com
 To: user@lists.neo4j.org
 Subject: Re: [Neo4j] Keeping context information in the Graph
 
 This may be the same solution suggested by Dmitriy, but I had to visualise
 it to understand the problem. The problematic solution on top, if I
 understand it correctly; the proposed solution beneath it:
 http://s3.amazonaws.com/neo4j/node_example.png
 
 It's a more verbose graph, but it does model the semantics. This is all
 very abstract, so let's make your example more concrete by naming the nodes
 something other than letters that match to a real world example.
 
 1. (A) Brad Pitt stars in (B) Fight Club in the role of (C) Tyler Durden.
 2. (D) Edward Norton stars in (B) Fight Club in the roles of both (E) The
 Narrator and [spoiler alert] (C) Tyler Durden
 
 The creation of casting nodes F and G in the diagram may serve a practical
 purpose later, for example if one was also modelling Pitt and Norton's
 contract for accounting purposes, tracking media coverage of the casting
 news, etc.
 
 Stephen
 
 
 
 
 
 On 6 August 2011 06:11, pankaj pankaj@gmail.com wrote:
 
  Hi,
 
  I have following data modeling problem. Node A related to Node B with
  complex property C. I modeled it like
  A-B-C. Now I have another node D related to B with complex property C and
  E. Now my graph looks like
  D-B-c, A-B-C, and D-B-E. Now storing like this, I lost the
  information
  that A never related to B in the context of complex property E. How do I
  model it?
 
  Thanks
  Pankaj
 
  --
  View this message in context:
  http://neo4j-community-discussions.438527.n3.nabble.com/Keeping-context-information-in-the-Graph-tp3229955p3229955.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
  
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Keeping context information in the Graph

2011-08-05 Thread Dmitriy Shabanov
On Sat, Aug 6, 2011 at 3:11 AM, pankaj pankaj@gmail.com wrote:


 I have following data modeling problem. Node A related to Node B with
 complex property C. I modeled it like
 A-B-C. Now I have another node D related to B with complex property C and
 E. Now my graph looks like
 D-B-c, A-B-C, and D-B-E. Now storing like this, I lost the
 information
 that A never related to B in the context of complex property E. How do I
 model it?


You can use abstract layer and REF relationship to name nodes, that what I
do.

Quite interesting to see other possible solutions.

-- 
Dmitriy Shabanov
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user