# Grammar and semantics of Domain Specifications

The grammar for Domain Specifications in DS-V3 consists of following grammar nodes. They are explained through their differences to the DS-V1 grammar. DS-V3 can be seen as the enhanced and SHACL version of DS-V1.

* [Domain Specification Node](https://gitbook.semantify.it/domainspecifications/ds-v3/grammar/domainspecification/domainspecification)
* [Property Node](https://gitbook.semantify.it/domainspecifications/ds-v3/grammar/domainspecification/property)
* [Class Node](https://gitbook.semantify.it/domainspecifications/ds-v3/grammar/domainspecification/class)
* [Data Type Node](https://gitbook.semantify.it/domainspecifications/ds-v3/grammar/domainspecification/datatype)
* [Enumeration Node](https://gitbook.semantify.it/domainspecifications/ds-v3/grammar/domainspecification/enumeration)

There is also a standard `@context` that should be used by Domain Specifications:

* [DS @Context](https://gitbook.semantify.it/domainspecifications/ds-v3/grammar/domainspecification/context)
