Ilya, Remember that we have no 3 way relationships (as in types), you have use a node for anything that connects more than two objects. So break down Show into Episodes if you want to to track the 1st (or only) airing of that episode.
Actor 1 = Node 1 Class Actor Show 1 = Node 2 Class Show Network 1 = Node 3 Class Network Season 1 = Node 4 Class Season Season 2 = Node 5 Class Season Episodes 1-12 = Nodes 6-17 Class Episodes Network 2 = Node 18 Class Network Episodes 13-24 = Nodes 19-30 Class Episodes Actor 1 STARRED_ON Show 1 Actor 1 APPEARED_ON Episode 3 Actor 1 APPEARED_ON Episode 20 Episode 1 AIRED_ON Network 1 Episode 20 AIRED_ON Network 2 -------------- Now, if you want to keep track of Re-Runs on different networks then you have to change that AIRED_ON relationship into a Node class. Aired_on 1 PLAYED_ON Network 2 Aired_on 1 IS_A Episode 20 The trick for me has been to find all the many-to-many relationships and break them down into nodes and if the idea is to eventually have a data warehouse with "slowly changing dimensions", then bake those in as "Instances". With the rest API NEO4j becomes a web server. Have 50 of them if you want, multicast the writes, load balance the reads, etc. >Suppose I have Actor – starts in à Show – airs on à Network I want to keep track when given actor started in given show that air on given Network. I’d like to keep this 3 way relationship as constant but have property (or something similar) that will keep track of dates when Actors/networks change while relationships and show remain constant. On Sun, May 2, 2010 at 4:44 PM, ilya <il...@nyc.rr.com> wrote: > Max and Anders, > > > > Thanks much for your replies and detail info! > > > > I think I have better understanding now about reusability via inheritance > and interfaces. I see now that if I want to define things once and then > extend/reuse them I simply need to create my own wrappers in language of > choice (ie Java) IMDB role as wrapper around relationship is perfect > example. > > > > For multi-value I like setProperty API – very useful. > > > > Categorizing/grouping – I realized I might’ve not been very clear. So let > me provide different example. > > Suppose I have Actor – starts in à Show – airs on à Network > > > I want to keep track when given actor started in given show that air on > given Network. I’d like to keep this 3 way relationship as constant but > have property (or something similar) that will keep track of dates when > Actors/networks change while relationships and show remain constant. > > > > Max, for clustering, I checked Restful API (very useful) but still ties > everything into one app server that neo is running under. > I won’t be able to run that server as cluster unless I have some smart > logic > that will have server not running Neo hit other server that runs Neo via > Rest API which is messy. It’s definitely possibility but hope there better > way. > > > > Regards, > > Ilya > > _______________________________________________ > Neo mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > _______________________________________________ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user