The core notification data is expressed with the Activity Streams [[ACTIVITYSTREAMS-VOCABULARY]] and Solid Notifications [[!SOLID-NOTIFICATIONS]] vocabularies.
A [PROTOCOL] notification from an resource on a [=Solid server=] MUST have the following properties:
*id*- an absolute IRI (Internationalized Resource Identifier) that uniquely identifies the notification.
*as:type* <as:Activity>- the [[ACTIVITYSTREAMS-VOCABULARY#activity-types|type of activity]] that triggered the notification.
*as:published* <xs:dateTime>- the date and time of the notification.
A [PROTOCOL] notification from an resource on a [=Solid server=] SHOULD have the following properties:
*notify:state* <xs:string>- an opaque identifier for the last known state of the resource. Can be used to set `Last-Event-ID` in a subsequent [PREP] notifications request.
A [=Solid server=] MAY augment the [[JSON-LD11#the-context|JSON-LD Context]] [[JSON-LD11]] definition and extend the content of notifications.
NOTE: See examples of [[ACTIVITYSTREAMS-CORE#example-using-multiple-vocabularies|using multiple vocabularies]] in the Activity Streams [[ACTIVITYSTREAMS-CORE]] specification.
Implementation Guidance
[=Solid clients=] are encouraged to be aware that anything can be included in the notification. Clients might want to take suitable precautions when ascertaining the veracity of the contents.