The recent emergence of contrastive learning approaches facilitates the
research on graph representation learning (GRL), introducing graph contrastive
learning (GCL) into the literature. These methods contrast semantically similar
and dissimilar sample pairs to encode the semantics into node or graph
embeddings. However, most existing works only performed model-level evaluation,
and did not explore the combination space of modules for more comprehensive and
systematic studies. For effective module-level evaluation, we propose a
framework that decomposes GCL models into four modules: (1) a sampler to
generate anchor, positive and negative data samples (nodes or graphs); (2) an
encoder and a readout function to get sample embeddings; (3) a discriminator to
score each sample pair (anchor-positive and anchor-negative); and (4) an
estimator to define the loss function. Based on this framework, we conduct
controlled experiments over a wide range of architectural designs and
hyperparameter settings on node and graph classification tasks. Specifically,
we manage to quantify the impact of a single module, investigate the
interaction between modules, and compare the overall performance with current
model architectures. Our key findings include a set of module-level guidelines
for GCL, e.g., simple samplers from LINE and DeepWalk are strong and robust; an
MLP encoder associated with Sum readout could achieve competitive performance
on graph classification. Finally, we release our implementations and results as
OpenGCL, a modularized toolkit that allows convenient reproduction, standard
model and module evaluation, and easy extension