## Engagement query ### Summary Identify community members who display patterns of authentic and meaningful engagement. ### Visual aid ![](https://i.imgur.com/Uhs3FJw.png) ### Query ``` with ["GitcoinGrantDonor", "GitcoinGrantAdmin", "IncubatorMember", "IncubatorParticipant", "Web3Citizen", "DaoAdmin", "DaoSummoner", "NftSubscriptionAdmin", "EarlyDaoHaus", "EarlySnapshot", "EngagedVoter", "ProposalAuthor", "BlueChipGeneric", "MirrorAuthor"] as eligibleContexts match (total:Wallet)-[:HOLDS]->(token:Token)-[:_HAS_MEMBERSHIP_TOKEN]-(element:_Element {communityId: $communityId}) with count(distinct(total)) as total_wallets, eligibleContexts match (farmer:Wallet)-[:HOLDS]->(token:Token)-[:_HAS_MEMBERSHIP_TOKEN]-(element:_Element {communityId: $communityId}) match (farmer)-[:_HAS_CONTEXT]->(:_IncentiveFarming) with total_wallets, count(distinct(farmer)) as farmers, eligibleContexts match (eligible:Wallet)-[r:HOLDS]->(token:Token)-[:_HAS_MEMBERSHIP_TOKEN]-(element:_Element {communityId: $communityId}) match (eligible)-[r:_HAS_CONTEXT]->(context:_Context) where context._displayName in eligibleContexts and not (eligible)-[:_HAS_CONTEXT]->(:_Context:_IncentiveFarming) with count(distinct(eligible)) as eligibleWallets, total_wallets,farmers return { total: total_wallets, allstars: eligibleWallets, farmers: farmers, awaiting_activation: total_wallets - (eligibleWallets + farmers) } as response ```