# Communities

The Community method for expertise location is available in the Community component as an action.

A community is a set of users that have similar agents or profiles to that of a certain user, or some query text. Therefore, a user's community includes users who have similar skills, abilities, and interests to that user.

You can filter a user's community by specifying a particular agent or profile for that user; any results returned must be similar to that agent or profile. You can also restrict results by named areas, if you are using them. Alternatively, you can specify query text instead of a user, to return agents and profiles that conceptually match this text.

## Considerations

It is worth remembering that agents are explicitly set up by users, while profiles are automatically produced by the `ProfileUser` action. If your system does not use one or other of these, you might want to consider disabling it when you run the `Community` action.

Profiles can change drastically during the first few runs of the `ProfileUser` action. Results for the `Community` action are generally better when the user profiles are reasonably stable (that is, they have been produced from a reasonable quantity of documents).

## Create Community Data

To identify a user's community, run the following action:

    action=Community&UserName=User

This action returns the details of any users who have similar agents or profiles to the specified user, and the details of the matching agents or profiles.

If you want matches based on a particular agent or profile for a user, specify this using the `AgentName` (for agents) or `PID` (for profiles) parameters.

Use the `Agents` and `Profile` parameters to specify whether to use a user's agents and profiles (respectively) to find users with similar agents or profiles. If you set either of these parameters, you can use the `AgentsFindAgents`, `AgentsFindProfiles`, `ProfilesFindProfiles`, and `ProfilesFindAgents` parameters to specify what can be used to match and what can be returned.

If you are using profiles to match, or are returning profiles, you can use the `NamedArea` and `FindNamedArea` parameters to restrict querying profiles and found profiles respectively to the named area given by the parameter value.

If your system has profiles for professional and personal interests for each user, and you need experts for a work project, then you can restrict the profiles used and returned to professional ones only.

To identify a community using query Text, run the following action:

    action=Community&Text=QueryText

You can use this option for speculative searches, or to find a particular kind of expertise when you do not know of any user who has it.

NOTE: If both `Text` and `UserName` are specified, only the `Text` parameter is used.

_FT_HTML5_bannerTitle.htm