[Babase] Finding intergroup interactions

Karl O. Pinc kop at meme.com
Mon Apr 19 11:31:01 EDT 2010


On 04/19/2010 10:08:41 AM, Niki Learn wrote:
> Um, this is what it returns...  I'll adapt my query to females.

Ah.  Sorry.  The problem is that what's written in the code
uses 'bb_actor' instead of 'R' and 'bb_actee' instead of 'E'.
So of course there's no parts rows with a role of 'bb_actor'
so you get no results.

When I run it the written out constants automatically get
substituted.  I'll have to think about the best way
to get you code that runs "out of the box".

SELECT interact.iid, interact.act, interact.date
       , actor.sname, supergroup(actorgrp.gid, interact.date) as
actorsupergroup
       , actee.sname, supergroup(acteegrp.gid, interact.date) as
acteesupergroup
       , 'Warning: Interactions should be between individuals in the 
same
supergroup'
  FROM interact, parts AS actor, parts AS actee
       , members AS acteembr, members AS actormbr
       , groups AS acteegrp, groups AS actorgrp
  WHERE actor.iid = interact.iid
        AND actor.role = 'R'
        AND actormbr.date = interact.date
        AND actormbr.sname = actor.sname
        AND actorgrp.gid = actormbr.grp
        AND actee.iid = interact.iid
        AND actee.role = 'E'
        AND acteembr.date = interact.date
        AND acteembr.sname = actee.sname
        AND acteegrp.gid = acteembr.grp
        AND supergroup(actorgrp.gid, interact.date)
            != supergroup(acteegrp.gid, interact.date)
  ORDER BY interact.date, interact.act, interact.iid, actor.sname,
actee.sname;

> 
> SELECT interact.iid, interact.act, interact.date
>        , actor.sname, supergroup(actorgrp.gid, interact.date) as
> actorsupergroup
>        , actee.sname, supergroup(acteegrp.gid, interact.date) as
> acteesupergroup
>        , 'Warning: Interactions should be between individuals in the
> same
> supergroup'
>   FROM interact, parts AS actor, parts AS actee
>        , members AS acteembr, members AS actormbr
>        , groups AS acteegrp, groups AS actorgrp
>   WHERE actor.iid = interact.iid
>         AND actor.role = 'bb_actor'
>         AND actormbr.date = interact.date
>         AND actormbr.sname = actor.sname
>         AND actorgrp.gid = actormbr.grp
>         AND actee.iid = interact.iid
>         AND actee.role = 'bb_actee'
>         AND acteembr.date = interact.date
>         AND acteembr.sname = actee.sname
>         AND acteegrp.gid = acteembr.grp
>         AND supergroup(actorgrp.gid, interact.date)
>             != supergroup(acteegrp.gid, interact.date)
>   ORDER BY interact.date, interact.act, interact.iid, actor.sname,
> actee.sname;
> 
> 0 row(s)
> 
> Total runtime: 749.483 ms
> 
> SQL executed.
> 
> 
> -----Original Message-----
> From: babase-bounces at eeblistserv.Princeton.EDU
> [mailto:babase-bounces at eeblistserv.Princeton.EDU] On Behalf Of Karl 
> O.
> Pinc
> Sent: Monday, April 19, 2010 10:58 AM
> To: babase at eeblistserv.Princeton.EDU
> Subject: [Babase] Finding intergroup interactions
> 
> 
> -- Warning condition
> -- Interactions should be between individuals in the same supergroup.
> SELECT interact.iid, interact.act, interact.date
>        , actor.sname, supergroup(actorgrp.gid, interact.date) as 
> actorsu\
> pergroup
>        , actee.sname, supergroup(acteegrp.gid, interact.date) as 
> acteesu\
> pergroup
>        , 'Warning: Interactions should be between individuals in the 
> sam\
> e supergroup'
>   FROM interact, parts AS actor, parts AS actee
>        , members AS acteembr, members AS actormbr
>        , groups AS acteegrp, groups AS actorgrp
>   WHERE actor.iid = interact.iid
>         AND actor.role = 'bb_actor'
>         AND actormbr.date = interact.date
>         AND actormbr.sname = actor.sname
>         AND actorgrp.gid = actormbr.grp
>         AND actee.iid = interact.iid
>         AND actee.role = 'bb_actee'
>         AND acteembr.date = interact.date
>         AND acteembr.sname = actee.sname
>         AND acteegrp.gid = acteembr.grp
>         AND supergroup(actorgrp.gid, interact.date)
>             != supergroup(acteegrp.gid, interact.date)
>   ORDER BY interact.date, interact.act, interact.iid, actor.sname, 
> actee\
> .sname;
> 
> 
> Karl <kop at meme.com>
> Free Software:  "You don't pay back, you pay forward."
>                  -- Robert A. Heinlein
> 
> 
> _______________________________________________
> Babase mailing list
> Babase at www.eco.princeton.edu
> http://www.eco.princeton.edu/mailman/listinfo/babase
> 
> _______________________________________________
> Babase mailing list
> Babase at www.eco.princeton.edu
> http://www.eco.princeton.edu/mailman/listinfo/babase
> 
> 




Karl <kop at meme.com>
Free Software:  "You don't pay back, you pay forward."
                 -- Robert A. Heinlein




More information about the Babase mailing list