Specifies the ValOS event log JSON-LD format and the 'VLog' namespace

The event log is sequence of event resources. An event resource is a map of semantically different aspects. Each aspect represents some role or lifecycle phase of the event and is a map of attributes that relate to that role. Most notable one is the delta aspect which defines the actual state change payload of the event.

This document is part of the library workspace @valos/log (of domain @valos/kernel) which has the description: `Specifies the ValOS event log JSON-LD format and the 'VLog' namespace`.

Edit me - this is the first payload chapter. Abstract and SOTD are essential ReSpec boilerplate

See ReVDoc tutorial for instructions on how to write revdoc source documents.

See also ReVdoc specification and VDoc specification for reference documentation.

§ The VLog fabric namespace of the library ontology of @valos/log

The fabric storage and transport layer vocabulary that both specifies the ValOS event log and aspects structure and is used to express the content and behaviors of individual chronicles.

§ @valos/log IRI prefixes

Prefix IRI
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs http://www.w3.org/2000/01/rdf-schema#
xsd http://www.w3.org/2001/XMLSchema#
owl http://www.w3.org/2002/07/owl#
dc http://purl.org/dc/elements/1.1/
VLog https://valospace.org/log/0#
VKernel https://valospace.org/kernel/0#
VPlot https://valospace.org/plot/0#
VState https://valospace.org/state/0#
VValk https://valospace.org/valk/0#
V https://valospace.org/0#

§ VLog fabric classes The class of classes which are defined by the ValOS kernel domain ontologies.

This section describes fabric classes introduced by the 'VLog' namespace

rdfs:subClassOf description

#Event

The class of all chronicle event log entries

#EventAspects

The class of resources which contain all different lifecycle aspects of some chronicle event as it advances through the proclamation lifecycle.
instance properties The class of all valosheath type prototype properties. VLog:version VLog:delta VLog:command VLog:log VLog:author

#EventAspect

The class of resources which contain a set of attributes of a single lifecycle aspect of some chronicle event as it progresses through the proclamation lifecycle.

#DeltaAspect

VLog:EventAspectThe class of resources which contain the state delta payload of some chronicle event.

#CommandAspect

VLog:EventAspectThe class of resources which contain attributes added by a gateway to some event during the fabrication of the event command.

#LogAspect

VLog:EventAspectThe class of resources which contain attributes of an event which relate to its position in the chronicle event log. The contents of this aspect are ultimately determined by the authority but is typically provisionally provided by the gateway.
instance properties The class of all valosheath type prototype properties. VLog:index VLog:vplotHashV0

#AuthorAspect

VLog:EventAspectThe class of resources which contain the authoring attributes and the command signature of a single chronicle event.
instance properties The class of all valosheath type prototype properties. VLog:antecedent VLog:publicIdentity VLog:signature

§ VLog fabric properties The class of properties which are defined by the ValOS kernel domain ontologies.

This section describes fabric properties introduced by the 'VLog' namespace

rdfs:domain rdfs:range

#version

VLog:EventAspectsxsd:string
description The aspect version string. The version of this specification is "0.3"

#delta

VLog:EventAspectsVLog:DeltaAspect
description The state delta aspect of the event.

#command

VLog:EventAspectsVLog:CommandAspect
description The command fabrication aspect of the event.

#log

VLog:EventAspectsVLog:LogAspect
description The authority log aspect of the event.

#index

VLog:LogAspectxsd:integer
description The 0-based index of the event in the chronicle event log.

#vplotHashV0

VLog:LogAspectxsd:string
description The base64url-encoded SHA-512/384 hash of the combination of the preceding event vplotHashV0 with the current event signature or delta. The exact format of the combination is pending. The event contents is defined to be the VLog:signature if the event is signed, otherwise it is the vplot serialization of the VLog:DeltaAspect of the event.

#author

VLog:EventAspectsVLog:AuthorAspect
description The command author aspect of the event.

#antecedent

VLog:AuthorAspectxsd:integer
description The index of an antecedent event the payload of which this author section confirms. This usually is the index of the directly preceding event but if the chronicle allows for reordering and eventual consistency this can refer to further in the log.

#publicIdentity

VLog:AuthorAspect V:Entity The class of valospace resources which act as the main valospace tree hierarchy building block. With Relation and Media it forms the group of three primary node types. As a Scope it can have scriptable properties, which entities expose to all child resources as their lexical scripting namespace. The set of valospace tree hierarchies is defined via triple pattern: SELECT ?root ?parent ?node WHERE { ?node V:parent ?parent . ?parent V:parent* ?root . NOT EXISTS ( ?root V:parent ?rootParent ) } This implies that only Entity resources can be nodes but any primary node can act as a root resource.
description The public identity resource of the contributor of this event.

#signature

VLog:AuthorAspectxsd:string
description The base64url-encoded 512-bit Ed25519 signature (as provided by tweetnacl.sign.detached) of the event payload. The exact format of the payload is pending precise specification. This signature is created using the secretKey associated with the chronicle publicKey of the authoring publicIdentity.

§ VLog fabric methods The class of all valosheath type prototype methods.

This section describes fabric methods introduced by the 'VLog' namespace

rdfs:domain rdfs:range

§ VLog fabric globals The class of all valosheath global resources.

This section describes fabric global objects introduced by the 'VLog' namespace

rdf:type Comment

§ VLog remaining vocabulary terms

rdf:type rdfs:subClassOf