# Same Community

Supported Graph Characteristics
 Unweighted edges Directed edges Undirected edges Homogeneous vertex types Heterogeneous vertex types

The Same Community algorithm is a simple boolean algorithm to check whether two vertices share the same community labeling.

This algorithm takes two vertices as input, returning 1 if the two vertices are in the same community, and returning 0 if they are not in the same community.

## Notes

The algorithm assumes that a community ID is stored in an integer attribute on each vertex. For this to happen, usually a Community Detection algorithm is run to create such community IDs.

This algorithm ignores edge weights.

## Specifications

``````CREATE QUERY tg_same_community(VERTEX v_source VERTEX v_target, STRING
communityAttribute)``````

### Parameters

Name Description Default value

`VERTEX v_source`

The first vertex to compare. Provide the vertex ID and type as a tuple: `("id","type")`

N/A

`VERTEX v_target`

The second vertex to compare with the first. Provide the vertex ID and type as a tuple: `("id","type")`

N/A

`STRING communityAttribute`

The vertex attribute used to store a vertex’s community ID.

(A blank string)

### Output

• Returns `1` if the two vertices are in the same community.

• Returns `0` if the two vertices are not in the same community.

### Time complexity

The algorithm has a time complexity of O(1).

## Example

Suppose we have the following vertices: Their community IDs were generated by running the Weakly Connected Components algorithm on the graph. If we run the algorithm between Kevin and Jenny, we get 1 because the two vertices are in the same community as indicated by their `community` attribute:

• Query

• Result

``RUN QUERY tg_same_community (("Jenny", "person"), ("Kevin", "person"), "community")``
``````{
"error": false,
"message": "",
"version": {
"schema": 2,
"edition": "enterprise",
"api": "v2"
},
"results": [{"1": 1}]
}``````