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

Reply via email to