Currently, Amazon Neptune does not support any sort of schema definition or enforcement language for property graph data. The only constraints that are enforced are those around IDs. A user can specify their own node and edge IDs and those IDs must be unique. If you try to create a node or edge with an existing ID, Neptune will return an error.
For now, Neptune offers a fairly open field approach to property graph development. You can just start adding nodes, edges and properties into an empty graph. Neptune will automatically maintain at least 3 indices over the data that you enter.
A few additional schema-like notes:
Neptune will perform existence checks when creating edges, either using queries, or the Bulk Loader. Both vertices must already exist for an edge creation to succeed. For nodes if the label is omitted, Neptune will create a default label of "vertex". When adding an edge, the label must be provided. Neptune allows multiple node labels on the same node to be specified.