Provides the ValOS resource state specification and the 'VState' ontology namespace

This document is part of the library workspace @valos/state (of domain @valos/kernel) which has the description: `Provides the ValOS resource state specification and the 'VState' ontology 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 VState fabric namespace of the library ontology of @valos/state

The vocabulary for defining the ValOS state core model and for extending it with new types and fields.

§ @valos/state 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/
VState https://valospace.org/state/0#
VKernel https://valospace.org/kernel/0#
VPlot https://valospace.org/plot/0#
VLog https://valospace.org/log/0#
VValk https://valospace.org/valk/0#
V https://valospace.org/0#

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

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

rdfs:subClassOf description

#Type

rdfs:ClassThe class of all valospace types. The instances of valospace types are called valospace resources and are the main valos ecosystem building block.Only valospace resources can appear as a subject in valospace resource and event triple graphs.

#Field

rdf:PropertyThe class of all valospace resource field identifiers.Only the instances of this class can appear as the predicate in valospace triple graphs. All valospace fields have VState:Type or one of its sub-classes as their rdf:domain.
instance properties The class of all valosheath type prototype properties. VState:isOwnerOf VState:isOwnedBy VState:coupledToField VState:linkedToField VState:coupledField VState:defaultCoupledField VState:preventsDestroy VState:isDuplicateable VState:initialValue VState:ownDefaultValue VState:finalDefaultValue VState:allowTransientFieldToBeSingular

#ExpressedField

VState:FieldThe class of valospace fields which have a full triple expression in all regular query and graph contexts (as opposed to fields with non-triple semantics or triple expression only in limited contexts).
instance properties The class of all valosheath type prototype properties. VState:expressor

#EventLoggedField

VState:ExpressedFieldThe class of valospace fields which have both a triple state expression inside valospace and a change impression in event logs; these are the primary, persisted sources of truth.
instance properties The class of all valosheath type prototype properties. VState:impressor

#CoupledField

VState:ExpressedFieldThe class of valospace fields which have a triple expression inside valospace via their coupled fields but lack an event log impression.

#GeneratedField

VState:ExpressedFieldThe class of inferred fields where a field is not associated with raw valospace triples but the triples are fully generated by the expressor, with scope values:

#TransientField

VState:FieldThe class of valospace fields with no general triple expression but with custom semantics for specific queries.

#AliasField

VState:FieldThe class of inferred fields called alias fields where each such field has an 'aliasOf' RDF property or valos Field. Alias fields are mutation-inference symmetric so that triples with an alias field as predicate are inferred from triples with aliasOf as predicate and mutations with an alias field as predicate are translated to use the aliasOf as predicate.
instance properties The class of all valosheath type prototype properties. VState:aliasOf

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

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

rdfs:domain rdfs:range

#globalResources

rdfs:Resourcerdfs:Resource
description This field refers to all resources that are global resources of a particular chronicle.

#subResources

rdfs:Resourcerdfs:Resource
description This field refers to all resources that are added as sub-resources to this resource.

#removes

rdfs:Resourcerdfs:Resource
description This field refers to graph which contains triples that are to be removed from this resource. When this field is expressed in state graphs this removal affects triples that would be inferred from ownership and instancing projections. When this field is expressed in log delta graphs the removal represents state triple removal change and takes effect during the delta application.

#expressor

VState:ExpressedFieldrdfs:List
description The custom 'getter' expressor of an ExpressedField as a VPlot.This expressor is used to resolve the dynamic, inferred value of the field whenever it is requested. More specifically, whenever an inferred state triple is requested for a resource field with a custom expressor the expressor vplot is valked using following scope values: Once the valk is resolved the inferred triple subject, predicate and object are set to be the field owner resource id, the field id itself and the valk result value, respectively.

#impressor

VState:EventLoggedFieldrdfs:List
description The custom 'setter' impressor of an EventLoggedField as a VPlot.This impressor is used as part of building an event object whenever some operation would assign a value to the field. More specifically, upon assignment the impressor vplot is valked using following scope values:

#aliasOf

VState:AliasFieldVState:Field
description The alias target property specifies the inference source and mutation target of an alias field.

#isOwnerOf

VState:Fieldxsd:boolean
description This field refers to a resource which is owned by the field subject resource. If the subject resource is is destroyed or if this field is removed then the owned resource is cascade destroyed.

#isOwnedBy

VState:Fieldxsd:boolean
description This field refers to a resource which owns the field subject resource. If the owner is destroyed or if the coupled field (which is marked with isOwnerOf) is removed from the owner then the subject resource will be cascade destroyed. Removing the isOwnedBy field itself will only orphan the subject resource.

#coupledToField

VState:FieldvalosField
description This field infers a reverse triple with predicate equal to this field value.

#linkedToField

VState:FieldvalosField
description This field requires the existence of a reverse triple with predicate equal to the object of this property.

#coupledField

DEPRECATED in favor of: VState:coupledToField
VState:FieldvalosField
description

#defaultCoupledField

VState:Fieldxsd:string
description

#preventsDestroy

VState:Fieldxsd:boolean
description Field with this property prevent destruction of their subject resource if the field has active couplings inside the same chronicle.

#isDuplicateable

VState:Fieldxsd:boolean
description If set to false this field not be visible for DUPLICATED class of events.

#initialValue

VState:Fieldrdfs:Resource
description The implicit initial value of the resource field when the resource is created.

#ownDefaultValue

VState:Fieldrdfs:Resource
description The value of a resource field which doesn't have an own value defined (ie. is evaluated before prototype field lookup).

#finalDefaultValue

VState:Fieldrdfs:Resource
description The value of a resource field which doesn't have a value defined by any resource in its prototype chain.

#allowTransientFieldToBeSingular

VState:Fieldxsd:boolean
description Bypass the default behavior which forces transient fields to be plural to allow for singular fields.

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

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

rdfs:domain rdfs:range

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

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

rdf:type Comment

§ VState remaining vocabulary terms

rdf:type rdfs:subClassOf