This document proposes methods to incorporate higher-order graph properties into graph neural networks (GNNs). It shows that GNNs are as powerful as the 1-dimensional Weisfeiler-Lehman graph isomorphism test for distinguishing graphs, but cannot capture higher-order properties like triangle counts. The document introduces k-dimensional GNNs and hierarchical k-GNNs to learn representations of subgraphs. Experimental results show these methods improve over 1-GNN baselines on graph classification and regression tasks.