  Despite the maturity of commercial graph databases, little consensus has been
reached so far on the standardization of data definition languages (DDLs) for
property graphs (PG). The discussion on the characteristics of PG schemas is
ongoing in many standardization and community groups. Although some basic
aspects of a schema are already present in Neo4j 3.5, like in most commercial
graph databases, full support is missing allowing to constraint property graphs
with more or less flexibility. In this paper, we focus on two different
perspectives from which a PG schema should be considered, as being descriptive
or prescriptive, and we show how it would be possible to switch from one to
another as the application under development gains more stability. Apart from
proposing concise schema DDL inspired by Cypher syntax, we show how schema
validation can be enforced through homomorphisms between PG schemas and PG
instances; and how schema evolution can be described through the use of graph
rewriting operations. Our prototypical implementation demonstrates feasibility
and shows the need of offering high-level query primitives to accommodate
flexible graph schema requirements as showcased in our work.
