  SHACL is a W3C-proposed schema language for expressing structural constraints
on RDF graphs. Recent work on formalizing this language has revealed a striking
relationship to description logics. SHACL expressions can use three fundamental
features that are not so common in description logics. These features are
equality tests; disjointness tests; and closure constraints. Moreover, SHACL is
peculiar in allowing only a restricted form of expressions (so-called targets)
on the left-hand side of inclusion constraints.
  The goal of this paper is to obtain a clear picture of the impact and
expressiveness of these features and restrictions. We show that each of the
four features is primitive: using the feature, one can express boolean queries
that are not expressible without using the feature. We also show that the
restriction that SHACL imposes on allowed targets is inessential, as long as
closure constraints are not used.
  In addition, we show that enriching SHACL with "full" versions of equality
tests, or disjointness tests, results in a strictly more powerful language.
