Specifies 'valospace' the globally distributed resource network and its related 'V' ontology namespace

This document is part of the library workspace @valos/space (of domain @valos/kernel) which has the description: `Specifies 'valospace' the globally distributed resource network and its related 'V' 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 V valospace namespace of the library ontology of @valos/space

The 'V' namespace defines the valospace resource types and fields.

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

§ V valospace types The 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.

This section describes valospace types introduced by the 'VSP' namespace

VRevdoc:brief rdfs:subClassOf

#Bvob window.valos.Bvob

Binary ValOS Object type V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies.
description The dominant type class of resources which are immutably associated with an octet-stream of fixed length.
instance fields The 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. .$V.hashAlgorithm .$V.contentHash .$V.contentLength .$V.contentReferrers
introduction Bvob resource id is the hash of the octet-stream prefixed with the hash algorithm, as their VGRID. Unlike any other valospace resources, Bvobs are shared, not owned on the object level. Multiple Bvob's with the same id can be CREATED in many chronicles (or in fact, even in the same chronicle). Conversely a Bvob cannot be destroyed but only released by nulling all references to it. Once a chronicle has no references to a specific Bvob the authority is allowed to free the octet-stream resources associated with.

#Entity window.Entity

primary resource tree node type V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies. V:Extant The class of valospace resources that are present and extant in this view of the world. An extant resource has all of its fields and properties available and it can thus be manipulated. V:Scope The class of valospace resources which can have scoped properties. V:SourcerableNode The class of sourcerable valospace nodes which either are already sourcered or are unsourcered but have references to them from extant resources. This interface is the domain of all transient and generated fields which are available even for unsourcered node resources. V:SourceredNode The class of sourcered (ie. extant) valospace nodes. A node can act as a chronicle root resource, as the source and target of Relation nodes, as the folder of Media nodes and as the parent of Entity nodes. As these aforementioned types are also the primary sourcered nodes themselves they form the main structure of global valospace resource graph.
description 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.
instance fields The 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. .$V.directory .$V.parent

#Media window.Media

file media node type V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies. V:Extant The class of valospace resources that are present and extant in this view of the world. An extant resource has all of its fields and properties available and it can thus be manipulated. V:Scope The class of valospace resources which can have scoped properties. V:SourcerableNode The class of sourcerable valospace nodes which either are already sourcered or are unsourcered but have references to them from extant resources. This interface is the domain of all transient and generated fields which are available even for unsourcered node resources. V:SourceredNode The class of sourcered (ie. extant) valospace nodes. A node can act as a chronicle root resource, as the source and target of Relation nodes, as the folder of Media nodes and as the parent of Entity nodes. As these aforementioned types are also the primary sourcered nodes themselves they form the main structure of global valospace resource graph.
description The class of valospace resources which represent interpretable media and can be associated with mutable binary content and accompanying metadata. With Relation and Media it forms the group of three primary node types.
instance fields The 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. .$V.directory .$V.folder .$V.sourceURL .$V.content
instance methods The class of all valosheath type prototype methods. .$V.immediateContent() .$V.interpretContent() .$V.immediateURL() .$V.getURL()

#Relation window.Relation

directed relationship node type V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies. V:Extant The class of valospace resources that are present and extant in this view of the world. An extant resource has all of its fields and properties available and it can thus be manipulated. V:Scope The class of valospace resources which can have scoped properties. V:SourcerableNode The class of sourcerable valospace nodes which either are already sourcered or are unsourcered but have references to them from extant resources. This interface is the domain of all transient and generated fields which are available even for unsourcered node resources. V:SourceredNode The class of sourcered (ie. extant) valospace nodes. A node can act as a chronicle root resource, as the source and target of Relation nodes, as the folder of Media nodes and as the parent of Entity nodes. As these aforementioned types are also the primary sourcered nodes themselves they form the main structure of global valospace resource graph.
description The class of valospace resources which represent directed, many-to-many relationships between nodes. With Entity and Media it forms the group of three primary node types. As a Scope it can have scriptable properties. Relation being a SourceredNode itself allows for nested and recursive relationship structures.
instance fields The 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. .$V.graph .$V.source .$V.target .$V.linkedSource .$V.linkedTarget .$V.ownerSource .$V.ownerTarget

#Resource window.Resource

base resource interfacerdfs:Resource
description The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies.
instance fields The 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. .$V.id .$V.rawId .$V.vrid .$V.typeName .$V.specializationOf .$V.hasSpecialization .$V.ownFields .$V.prototypeOf .$V.hasInstance .$V.ghostOf .$V.hasGhost .$V.materializedGhosts .$V.unnamedCouplings .$V.ghostHost .$V.ghostOwner .$V.ownsGhost
instance methods The class of all valosheath type prototype methods. .hasOwnProperty() .$V.getField() .$V.getFieldCoupling() .$V.setField() .$V.addToField() .$V.removeFromField() .$V.replaceWithinField() .$V.setOwner() .$V.getEntity() .$V.getMedia() .$V.getFixedResource() .$V.getFixedEntity() .$V.getFixedMedia() .$V.getFixedRelation() .$V.obtainFixedResource() .$V.instantiate() .$V.duplicate() .$V.prepareBlob() .$V.prepareBvob()
type object methods The class of all valosheath object methods. valos.Resource.activate() valos.Resource.isActive() valos.Resource.getFieldOf() valos.Resource.setFieldOf() valos.Resource.getOwnerOf() valos.Resource.setOwnerOf() valos.Resource.getActiveResource() valos.Resource.tryActiveResource() valos.Resource.recombine() valos.Resource.destroy()

#Scope window.Scope

property scope interface V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies. V:Extant The class of valospace resources that are present and extant in this view of the world. An extant resource has all of its fields and properties available and it can thus be manipulated.
description The class of valospace resources which can have scoped properties.
instance fields The 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. .$V.ownsProperty
instance methods The class of all valosheath type prototype methods. .$V.getProperty() .$V.getHostGlobal()
type object methods The class of all valosheath object methods. valos.Scope.createIdentifer()

#SourcerableNode

sourcerable node interface V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies.
description The class of sourcerable valospace nodes which either are already sourcered or are unsourcered but have references to them from extant resources. This interface is the domain of all transient and generated fields which are available even for unsourcered node resources.
instance fields The 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. .$V.chronicleRoot .$V.chronicleURI .$V.url .$V.partition .$V.partitionURI .$V.hasOutRelation .$V.hasInRelation .$V.outgoingRelations .$V.incomingRelations

#UnsourceredNode

absent, sourcerable node type V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies. V:SourcerableNode The class of sourcerable valospace nodes which either are already sourcered or are unsourcered but have references to them from extant resources. This interface is the domain of all transient and generated fields which are available even for unsourcered node resources.
description The dominant type class of absent but sourcerable valospace nodes. An absent resource doesn't have a known representation in this view of the world because it is inside an unsourcered Chronicle. The transition from UnsourceredNode to and from other dominant types is the only possible runtime type change for SourcerableNodes and happens dynamically based on the chronicle sourcery and banishment.

#NonExistentNode

non-existent node type V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies. V:SourcerableNode The class of sourcerable valospace nodes which either are already sourcered or are unsourcered but have references to them from extant resources. This interface is the domain of all transient and generated fields which are available even for unsourcered node resources.
description The dominant type class of sourcered resources which should be present but are not. This typically because they have been destroyed or because they never existed in the first place. Only provides the transient fields of the SourcerableNode and Resource interfaces.

#SourceredNode

sourcered node interface V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies. V:Extant The class of valospace resources that are present and extant in this view of the world. An extant resource has all of its fields and properties available and it can thus be manipulated. V:Scope The class of valospace resources which can have scoped properties. V:SourcerableNode The class of sourcerable valospace nodes which either are already sourcered or are unsourcered but have references to them from extant resources. This interface is the domain of all transient and generated fields which are available even for unsourcered node resources.
description The class of sourcered (ie. extant) valospace nodes. A node can act as a chronicle root resource, as the source and target of Relation nodes, as the folder of Media nodes and as the parent of Entity nodes. As these aforementioned types are also the primary sourcered nodes themselves they form the main structure of global valospace resource graph.
instance fields The 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. .$V.container .$V.nodes .$V.authorityURI .$V.createdAt .$V.modifiedAt .$V.partitionAuthorityURI .$V.entries .$V.ownsEntity .$V.ownsMedia .$V.ownsRelation .$V.linkedOutRelation .$V.linkedInRelation .$V.ownsOutRelation .$V.ownsInRelation .$V.relations

#Absent

absent resource type V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies.
description The dominant type class of absent valospace resources. An absent resource doesn't have a known representation in this view of the world, buts its existence is inferred due to existing references to it. The transition from Absent to and from other dominant types is the only possible runtime type change and happens dynamically based on the chronicle sourcery and banishment.

#Extant

extant and present resource interface V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies.
description The class of valospace resources that are present and extant in this view of the world. An extant resource has all of its fields and properties available and it can thus be manipulated.
instance fields The 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. .$V.owner .$V.name .$V.hasPrototype .$V.instanceOf .$V.ownlings .$V.unnamedOwnlings .$V.isFrozen .$V.nameAlias .$V.prototypeAlias

#NonExistent

V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies.
description The dominant type class of resources which should be present but are not. This is typically because they have been destroyed or because they have never existed in the first place. Only provides the transient fields of the Resource interface.

#ScopeProperty

scope property type V:Resource The class of resources which can appear as a subject in valospace resource and event graphs. The domain of all transient and generated fields which are available even for unsourced bodies. V:Extant The class of valospace resources that are present and extant in this view of the world. An extant resource has all of its fields and properties available and it can thus be manipulated. rdf:Statement
description The dominant type class of resources representing properties with a locally unique name inside an owning Scope namespace resource. Additionally a ScopeProperty represents the core hypertwin building block as an rdf:Statement reification of hypertwinned triples.
instance fields The 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. .$V.scope .$V.value .$V.twinspace .$V.subject .$V.predicate .$V.object

§ V valospace fields The 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.

This section describes valospace fields introduced by the 'VSP' namespace

rdfs:domain rdfs:range rdf:type rdfs:subPropertyOf VState:coupledToField

§ V remaining vocabulary terms

rdf:type rdfs:subClassOf

#Chronicle window.valos.Chronicle

description

#Chronicle.createPartitionURI Chronicle.createPartitionURI

VEngine:ObjectMethod The class of all valosheath object methods.
description Creates a URI from given *base* and *partitionId* strings

#Chronicle.createChronicleURI Chronicle.createChronicleURI

VEngine:ObjectMethod The class of all valosheath object methods.
description Creates a URI from given *authorityURI* and *chronicleId* strings (coercing non-vplot id's)

#Chronicle.splitChronicleURI Chronicle.splitChronicleURI

VEngine:ObjectMethod The class of all valosheath object methods.
description Returns an array containing the authority URI and the chronicle id of given *chronicleURI*

#Chronicle.tryPartitionConnection Chronicle.tryPartitionConnection

DEPRECATED in favor of: V:Chronicle.tryConnection Returns an existing, fully active connection to the chronicle with given *chronicleURI*, undefined otherwise
VEngine:ObjectMethod The class of all valosheath object methods.
description DEPRECATED, prefer: V:Chronicle.tryConnection. Returns an existing, fully active connection to the chronicle with given *chronicleURI*, undefined otherwise
introduction

#Chronicle.tryConnection Chronicle.tryConnection

VEngine:ObjectMethod The class of all valosheath object methods.
description Returns an existing, fully active connection to the chronicle with given *chronicleURI*, undefined otherwise

#Chronicle.acquirePartitionConnection Chronicle.acquirePartitionConnection

DEPRECATED in favor of: V:Chronicle.acquireConnection Returns a promise to a full connection to the chronicle with given *chronicleURI* and *options*.
VEngine:ObjectMethod The class of all valosheath object methods.
description DEPRECATED, prefer: V:Chronicle.acquireConnection. Returns a promise to a full connection to the chronicle with given *chronicleURI* and *options*.
introduction If no full connection exists, waits on a possibly existing on-going connection process. If none exists creates a new connection process.

#Chronicle.acquireConnection Chronicle.acquireConnection

VEngine:ObjectMethod The class of all valosheath object methods.
description Returns a promise to a full connection to the chronicle with given *chronicleURI* and *options*.
introduction If no full connection exists, waits on a possibly existing on-going connection process. If none exists creates a new connection process.

#Chronicle.sourcerChronicle Chronicle.sourcerChronicle

VEngine:ObjectMethod The class of all valosheath object methods.
description Returns a promise to a sourcered chronicle with given *chronicleURI* and *options*.
introduction If no full connection exists, waits on a possibly existing on-going connection process. If none exists creates a new connection process.

#Describable window.valos.Describable

description

#DestroyedScriptResource window.valos.DestroyedScriptResource

description

#Discoverable window.valos.Discoverable

description

#InactiveScriptResource window.valos.InactiveScriptResource

description

#immediateContent Media.prototype.$V.immediateContent

VEngine:Method The class of all valosheath type prototype methods.
description Returns Media content if immediately available or throws otherwise.
introduction Media content is immediately available if its has been downloaded and marked as in-memory cacheable. The thrown error can be a missing connection error which triggers an implicit connection process. See V:interpretContent for more details.

#interpretContent Media.prototype.$V.interpretContent

VEngine:Method The class of all valosheath type prototype methods.
description Returns a promise to a Media content interpretation as optionally given *options.contentType*.
introduction The default contentType if determined as follows:
  1. options.contentType argument of this call
  2. Media.mediaType field of this Media resource

  3. inferred from the Media name extension

  4. options.fallbackContentType of this call

#immediateURL Media.prototype.$V.immediateURL

VEngine:Method The class of all valosheath type prototype methods.
description Returns a Media content download URL if immediately available or throws an error otherwise.
introduction The returned URL can be used to fetch an online resource in the local context. This URL is only temporarily valid. The expiration time is defined by the chronicle behaviors and its backend implementation. The error can be a missing connection error which triggers an implicit connection process. See V:getURL for more details.

#getURL Media.prototype.$V.getURL

VEngine:Method The class of all valosheath type prototype methods.
description Returns a promise to a Media content download URL.
introduction The resolved URL can be used to fetch the Media content in the local context. This URL is only temporarily valid. The expiration time is defined by the chronicle behaviors and its backend implementation.

#Property window.Property

description

#Relatable window.Relatable

description

#Relatable.getRelationsOf Relatable.getRelationsOf

DEPRECATED in favor of: V:getRelations Returns an array of all outgoing relations with the given *name* as their V:name.
VEngine:ObjectMethod The class of all valosheath object methods.
description DEPRECATED, prefer: V:getRelations. Returns an array which contains all Relation objects of given *relatable* which have the given *name*
introduction Returned relation objects have given *relatable* as their host *Relation.source* field value and which fullfill all constaints of given additionalConditions

#Relatable.getIncomingRelationsOf Relatable.getIncomingRelationsOf

DEPRECATED in favor of: V:getIncomingRelations Returns an array of all incoming, connected relations with the given *name* as their V:name.
VEngine:ObjectMethod The class of all valosheath object methods.
description DEPRECATED, prefer: V:getIncomingRelations. Returns an array which contains all Relation objects which have the given *name*
introduction have *this* relatable as their host *Relation.target* field value and which fullfill all constaints of given additionalConditions

#getRelations Relatable.prototype.$V.getRelations

VEngine:Method The class of all valosheath type prototype methods.
description Returns an array of all outgoing relations with the given *name* as their V:name.
introduction Outgoing relations are all V:Relation resources owned by *this* V:Relatable in its V:relations and which have *this* as their V:source. If no *name* is given returns all outgoing relations. Note: all matching relations are selected, even those in unconnected chronicles.

#getRelationTargets Relatable.prototype.$V.getRelationTargets

VEngine:Method The class of all valosheath type prototype methods.
description Returns an array of all the V:target resources of those outgoing relations which have the given *name* as their V:name.
introduction This method is identical to V:getRelations except that the returned array contains the V:target resources instead of the relations themselves.

#setRelations Relatable.prototype.$V.setRelations

VEngine:Method The class of all valosheath type prototype methods.
description Replaces all relations with given *name* with relations in given *newRelations* sequence.
introduction This can be used to reorder the relations, as even if no entries are actually removed or added (if the new set has the same entries as the existing set), their order will be changed to match the order in the new sequence.

#getIncomingRelations Relatable.prototype.$V.getIncomingRelations

VEngine:Method The class of all valosheath type prototype methods.
description Returns an array of all incoming, connected relations with the given *name* as their V:name.
introduction Incoming relations are all V:Relation resources that appear in the V:incomingRelations and which have *this* as their V:target. Note: only relations inside connected chronicles are listed (even though some might be inactive, f.ex. if they have an inactive prototype).

#getIncomingRelationSources Relatable.prototype.$V.getIncomingRelationSources

VEngine:Method The class of all valosheath type prototype methods.
description Returns an array of all V:source resources of those incoming relations which have the given *name* as their V:name
introduction This method is identical to V:getIncomingRelations except that the returned array contains V:source resources instead of the relations themselves.

#setIncomingRelations Relatable.prototype.$V.setIncomingRelations

VEngine:Method The class of all valosheath type prototype methods.
description Replaces all incoming relations with given *name* with relations in given *newIncomingRelations* sequence.
introduction This can be used to reorder the relations, as even if no entries are actually removed or added (if the new set has the same entries as the existing set), their order will be changed to match the order in the new sequence.

#Resource.activate Resource.activate

VEngine:ObjectMethod The class of all valosheath object methods.
description Returns a promise to an activation operation of the given *resource*
introduction Activating a resource is the operation of sourcering the chronicles of all of the resources in its prototype chain. The returned promise resolves to the given resource itself once all corresponding chronicles have completed their first narration. If the resource is already active the returned promise is an already resolved one.

#Resource.isActive Resource.isActive

VEngine:ObjectMethod The class of all valosheath object methods.
description Returns true if the given *resource* is active
introduction Returns false if the *resource* is inactive and not being activated at all, or if any of the prototype chain chronicles is still undergoing sourcering or first narration.

#Resource.getFieldOf Resource.getFieldOf

DEPRECATED in favor of: V:getField Returns the value of the valospace field with given *fieldName* of *this* Resource
VEngine:ObjectMethod The class of all valosheath object methods.
description DEPRECATED, prefer: V:getField. Returns the value of the host field with given *fieldName* of the given *resource*

#Resource.setFieldOf Resource.setFieldOf

DEPRECATED in favor of: V:setField Sets the value of the field *fieldName* of *this* Resource.
VEngine:ObjectMethod The class of all valosheath object methods.
description DEPRECATED, prefer: V:setField. Sets the host field with given *fieldName* of the given *resource* to given *newValue*

#Resource.getOwnerOf Resource.getOwnerOf

DEPRECATED in favor of: V:owner The owner of this extant resource.
VEngine:ObjectMethod The class of all valosheath object methods.
description DEPRECATED, prefer: V:owner. Returns the owner of the given *resource*

#Resource.setOwnerOf Resource.setOwnerOf

DEPRECATED in favor of: V:setOwner Sets the host owner of *this* Resource to the given *owner*, with optionally given *coupledFieldName*.
VEngine:ObjectMethod The class of all valosheath object methods.
description DEPRECATED, prefer: V:setOwner. sets the host owner of the given *resource* to the given *owner*
introduction Can optionally be given *coupledField*. If not given coupledField default value is determined by the type of this resource to be either 'unnamedOwnlings', 'properties', 'relations' or 'listeners'

#Resource.getActiveResource Resource.getActiveResource

VEngine:ObjectMethod The class of all valosheath object methods.
description Returns the active resource with given *id* if one exists, otherwise throws an error.
introduction An active resource is an existing, non-destroyed resource in a fully connected chronicle whose all possible prototypes are also active. If the error is due to an unconnected or partially connected chronicle an absent chronicle error is thrown. This causes an implicit chronicle connection attempt which by default restarts this transaction. Otherwise a regular, by default unhandled exception is thrown.

#Resource.tryActiveResource Resource.tryActiveResource

VEngine:ObjectMethod The class of all valosheath object methods.
description Returns the active resource with given *id* if one exists, otherwise returns null.
introduction An active resource is an existing, non-destroyed resource in a fully connected chronicle whose all possible prototypes are also active.

#Resource.recombine Resource.recombine

VEngine:ObjectMethod The class of all valosheath object methods.
description Returns an array of duplicated resources based on the given *duplicationDirectives* (dd).
introduction The duplications are performed as if they are part of a single duplication; all directly and indirectly owned cross-references between all *dd.duplicateOf* resources are updated to cross-refer to the appropriate (sub-)resources in the resulting duplicates. This has two major advantages over the singular duplication. First advantage is that recombination allows for fine-grained control over all duplicated resources and not just the top-level. When a *dd.duplicateOf* refers to a resource which is already being implicitly duplicated (by some other directive targeting its (grand)owner) then the rules in the explicit dd override the default duplication instead of creating an extra duplicate. Notably this also allows for omission of whole sub-branches from the duplication by specifying null *dd.id*. Second advantage is that by providing customized *dd.initialState.owner* values the recombination can fully alter ownership hierarchy of the duplicated objects (unlike duplication which once again can only manage duplicated top-level resource). Specifically this enables duplication of resources from different locations and even chronicles to under the same entity while maintaining the internal cross-references between different recombined resources. Vice versa recombine allows spreading the duplicates to separate chronicles (at least insofar a multi-chronicle commands between said chronicles is possible).

#Resource.destroy Resource.destroy

VEngine:ObjectMethod The class of all valosheath object methods.
description Destroys the given *resource* and recursively all resources owned by it

#Resource.prototype.hasOwnProperty Resource.prototype.hasOwnProperty

VEngine:Method The class of all valosheath type prototype methods.
description Returns true if this resource has the given *propertyName* as its own locally materialized property, false otherwise.

#getField Resource.prototype.$V.getField

VEngine:Method The class of all valosheath type prototype methods.
description Returns the value of the valospace field with given *fieldName* of *this* Resource
introduction This is an internal API and should be avoided in favor of ordinary field access.

#getFieldCoupling Resource.prototype.$V.getFieldCoupling

VEngine:Method The class of all valosheath type prototype methods.
description Returns the coupled field of the given singular valospace field *fieldName* of *this* Resource
introduction

#setField Resource.prototype.$V.setField

VEngine:Method The class of all valosheath type prototype methods.
description Sets the value of the field *fieldName* of *this* Resource.

#addToField Resource.prototype.$V.addToField

VEngine:Method The class of all valosheath type prototype methods.
description Adds the given *value* to the host field with given *fieldName* of *this* Resource.
introduction If the *value* is an iterable all the entries will be added in iteration order. All added values will be placed to the end of the sequence, even if they already exist.

#removeFromField Resource.prototype.$V.removeFromField

VEngine:Method The class of all valosheath type prototype methods.
description Removes the given *value* from the host field with given *fieldName* of *this* Resource.
introduction If the *value* is an iterable all the iterated entries will be removed.

#replaceWithinField Resource.prototype.$V.replaceWithinField

VEngine:Method The class of all valosheath type prototype methods.
description Replaces the given *replacedValues* within the field *fieldName* of *this* Resource with given *withValues*.
introduction Behaves like a removedFrom call followed by an addedTo call, where the removedFrom is given the entries appearing only in *replacedValues* and addedTo is given *withValues* as-is.

#setOwner Resource.prototype.$V.setOwner

VEngine:Method The class of all valosheath type prototype methods.
description Sets the host owner of *this* Resource to the given *owner*, with optionally given *coupledFieldName*.
introduction The coupledFieldName default value is based on the type of this resource as either 'unnamedOwnlings', 'properties', 'relations' or 'listeners'

#getEntity Resource.prototype.$V.getEntity

VEngine:Method The class of all valosheath type prototype methods.
description Returns the first owned Entity with the given *name*.

#getMedia Resource.prototype.$V.getMedia

VEngine:Method The class of all valosheath type prototype methods.
description Returns the first owned Media with the given *name*.

#getFixedResource Resource.prototype.$V.getFixedResource

VEngine:Method The class of all valosheath type prototype methods.
description Returns a reference to the fixed sub-resource reached from this resource via the given *subPlot* VPlot.
introduction This call does not create any resources. If the resource does not exist the reference will be immaterial. Alternatively the *subPlot* can be a fixed field object which is used to determined the actual resource sub-id vplot. The keys of the object are divided to three groups: - Specials: keys 'id', 'typeName', 'name' and 'params' have semantics described below - Plain terms: all other string keys are sorted and treated as namespace 'V' terms - Symbol terms: all symbols must be valid namespace names, sorted lexically as [namespace, term] pairs Firstly the resource sub-id starts with the value of 'id' key which if given must contain the verb type and an optional number of params. Otherwise if 'id' is not given the sub-id verb type is generated based on 'typeName' if it is given. Otherwise the verb type is set to "@_". Secondly if 'name' is specified it is then prepended as the first param. Thirdly all sorted plain terms are appended to the params. Fourthly all sorted symbol terms are appended to the params. Finally all 'param' values are appended to the params. See also $V.obtainFixedResource.

#getFixedEntity Resource.prototype.$V.getFixedEntity

VEngine:Method The class of all valosheath type prototype methods.
description Returns a reference to the fixed sub-entity reached from this resource via the given *subPlot* VPlot.
introduction This call does not create any resources. If the sub-resource does not exist the reference will be immaterial. Alternatively the *subPlot* can be a fixed field object. In this case this call adds "Entity" as a typeName to it. See $V.getFixedResource for more details.

#getFixedMedia Resource.prototype.$V.getFixedMedia

VEngine:Method The class of all valosheath type prototype methods.
description Returns a reference to the fixed sub-media reached from this resource via the given *subPlot* VPlot.
introduction This call does not create any resources. If the sub-resource does not exist the reference will be immaterial. Alternatively the *subPlot* can be a fixed field object. In this case this call adds "Media" as a typeName to it. See $V.getFixedResource for more details.

#getFixedRelation Resource.prototype.$V.getFixedRelation

VEngine:Method The class of all valosheath type prototype methods.
description Returns a reference to the fixed sub-relation reached from this resource via the given *subPlot* VPlot.
introduction This call does not create any resources. If the sub-resource does not exist the reference will be immaterial. Alternatively the *subPlot* can be a fixed field object. In this case this call adds "Relation" as a typeName to it. See $V.getFixedResource for more details.

#obtainFixedResource Resource.prototype.$V.obtainFixedResource

VEngine:Method The class of all valosheath type prototype methods.
description Returns an existing or a newly created fixed sub-resource that is reached from this resource via the given *subPlot* VPlot.
introduction Will create all resources traversed by the subPlot VPlot that don't exist. Provides initial field and property values for the newly created resources so that they satisfy the semantic constraints of the *subPlot* VPlot elements. This typically means that at least the resource type and its $V.owner and $V.name are initialized, but depending on VPlot contents other properties can also be initialized. Calls the optional callback argument *extendInitialState* for each new resource right before the resource is created. This call is passed *initialState* and *subPlotIndex* as arguments. The *subPlotIndex* is an index to the *subPlot* sub-element for which a new resource is about to be created. The *initialState* contains the initial fields and properties for the new resource. These values are immutable and can only be inspected but new fields and properties can be added. Once the callback returns the *initialState* will be passed to the V:Resource.new call.

#instantiate Resource.prototype.$V.instantiate

VEngine:Method The class of all valosheath type prototype methods.
description Instantiates *this* Resource with given *initialState*.

#duplicate Resource.prototype.$V.duplicate

VEngine:Method The class of all valosheath type prototype methods.
description Duplicates *this* Resource with given *initialState*.

#prepareBlob Resource.prototype.$V.prepareBlob

DEPRECATED in favor of: V:prepareBvob Uploads the given *content* and returns a promise to a Bvob resource creation callback.
VEngine:Method The class of all valosheath type prototype methods.
description DEPRECATED, prefer: V:prepareBvob. Returns a promise to a Bvob creator callback. See Resource.prepareBvob.

#prepareBvob Resource.prototype.$V.prepareBvob

VEngine:Method The class of all valosheath type prototype methods.
description Uploads the given *content* and returns a promise to a Bvob resource creation callback.
introduction All valospace binary content is associated with a chronicle in the form immutable Bvob resource references. A full process of uploading content to valospace is a two-stage process. Firstly the content must be uploaded and validated by persistence layers. Secondly the content hash must be chronicled as a Bvob reference in the chronicle event log. This function initiates the first stage and returns a promise to a callback. The promise resolves when the given *content* has been converted into raw data and persisted in the *nearest persistence cache*. The resolved value is a callback which when called creates a Bvob resource in the chronicle of *this* Resource and returns a reference to it. This Bvob should then be immediately assigned to a resource field in the chronicle (usually as V:content of some V:Media) to initiate the second stage. Note that as the Bvob itself only represents binary content all encoding information, contentType and any other metadata should be assigned at the same time (see V:Media). There can be a period of time between the first stage and the second stage, especially if user interaction is performed in between. During this period the uploaded content is pending and likely has no chronicle references to it until the second stage is initiated and completed. The pending content is guaranteed to remain valid until one of the following conditions is true:
  1. The bvob id is used in a command that has been successfully locally persisted in the command queue of this chronicle. At this point the bvob id cache validity is governed by the ordinary chronicle bvob content persistence rules.
  2. The execution context is reset (ie. on a browser/tab is refreshed).

  3. Local bvob cache is explicitly flushed (which is unimplemented).

#Scope.createIdentifer Scope.createIdentifer

VEngine:ObjectMethod The class of all valosheath object methods.
description Creates and returns an identifier binding object.
introduction When an identifier object is placed as a scope lookup value it will act as an assignable identifier binding for valoscript identifier operations with name equal to the key of the scope lookup.

#getProperty Scope.prototype.$V.getProperty

DEPRECATED in favor of: Object.getOwnPropertyDescriptor
VEngine:Method The class of all valosheath type prototype methods.
description DEPRECATED, prefer: Object.getOwnPropertyDescriptor. Returns the Property object with the given name in this Scope.
introduction This Property object is an internal detail of @valos/engine.

#getHostGlobal Scope.prototype.$V.getHostGlobal

VEngine:Method The class of all valosheath type prototype methods.
description Returns the javascript host global object associated with this Scope.
introduction The host global object of a Scope resource is used as the javascript global object for all application/javascript medias that are owned by the Scope. This global object prototypically inherits the host global object of the nearest owning Scope. Thus all host global variables introduced to the Scope by its directly owned javascript medias will be available to all other medias directly or indirectly owned by the Scope. The host global object is a native host environment javascript object, so that unlike valospace resource modifications, the host global object modifications are:
  1. local; they are not visible to other users or tabs
  2. immediate; they don't wait for the surrounding transaction to be committed

  3. irreversible; they are not reverted if the surrounding transaction is aborted

  4. not persistent; they are lost on browser refresh (or on any inspire engine restart in general)

#TransientFields window.valos.TransientFields

description

#getFickleId TransientFields.prototype.$V.getFickleId

VEngine:Method The class of all valosheath type prototype methods.
description Returns a short, descriptive but fickle identifier string of this resource.
introduction The fickle is uniquely mapped to this resource but during this execution session only. The returned fickle id string is guaranteed to be at least the given *minimumLength* characters long. The fickle id may be longer if a shorter id candidate is already allocated for another resource. The fickle algorithm is a best-effort algorithm which /most of the time/ returns a prefix of the resource raw id that is same across sessions, but none of these qualities is guaranteed.

#createDerivedId TransientFields.prototype.$V.createDerivedId

VEngine:Method The class of all valosheath type prototype methods.
description Creates a deterministic, unique id string based on the id of *this* resource as well as the optional *salt* and optional *contextId* strings.
introduction The generated id is always the same for same combination of these three values.

#hasInterface TransientFields.prototype.$V.hasInterface

VEngine:Method The class of all valosheath type prototype methods.
description Returns true if *this* resource implements the host interface *interfaceName*

#TransientScriptFields window.valos.TransientScriptFields

description

#chronicleRoot $V.chronicleRoot

VState:GeneratedField The 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:
description The chronicle root node of this sourcerable (ie. the nearest ancestor, possibly this sourcerable itself self which has a non-null V:authorityURI).

#chronicleURI $V.chronicleURI

VState:GeneratedField The 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:
description The chronicle URL of the event log that contain this potentially absent sourcerable as is known by the current view of the world.

#url $V.url

VState:GeneratedField The 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:
description The authoritative URL string of this sourcerable in the current view of the world. Always equivalent to a catenation of <V:chronicleURI> "#" <V:id> of this resource

#partition $V.partition

DEPRECATED in favor of: V:chronicleRoot The chronicle root node of this sourcerable (ie. the nearest ancestor, possibly this sourcerable itself self which has a non-null V:authorityURI).
VState:AliasField The 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.
description The chronicle root node of this sourcerable, ie. the nearest ancestor (possibly self) with a non-null V:authorityURI.

#partitionURI $V.partitionURI

DEPRECATED in favor of: V:chronicleURI The chronicle URL of the event log that contain this potentially absent sourcerable as is known by the current view of the world.
VState:AliasField The 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.
description Deprecated in favor of 'chronicleURI'. This field is by definition always a locator so its name should reflect it.

#container $V.container

VState:EventLoggedField The 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.
description The container (and owner) node of this sourcered node.

#nodes $V.nodes

VState:EventLoggedField The 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.
description The ordered list of all nodes directly contained by this sourcered node.

#authorityURI $V.authorityURI

VState:EventLoggedField The 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.
description The authority URL of this sourcered chronicle root node. If this field is null then this sourcered node is not a root node. Setting this field makes this resource the root of a new chronicle root (if allowed). The chronicle URL is generated based on this as per the rules specified by the authority URL schema. If the chronicle root node is frozen the whole chronicle is permanently frozen.

#createdAt $V.createdAt

VState:GeneratedField The 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:
description The creation UNIX epoch time of this node. This is defined as the log aspect timestamp of the CREATED event which impressed this node into being.

#modifiedAt $V.modifiedAt

VState:GeneratedField The 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:
description The latest modification UNIX epoch time of this node. This is defined as the log aspect timestamp of the most recent event with a direct impression on this Media resource.

#partitionAuthorityURI $V.partitionAuthorityURI

DEPRECATED in favor of: V:authorityURI The authority URL of this sourcered chronicle root node. If this field is null then this sourcered node is not a root node. Setting this field makes this resource the root of a new chronicle root (if allowed). The chronicle URL is generated based on this as per the rules specified by the authority URL schema. If the chronicle root node is frozen the whole chronicle is permanently frozen.
VState:AliasField The 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.
description

#directory $V.directory

VState:EventLoggedField The 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.
description The directory (and owner) node of this sourcered node.

#entries $V.entries

VState:EventLoggedField The 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.
description The ordered list of entries of this sourcered node when seen as a directory.

#parent $V.parent

VState:EventLoggedField The 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.
description The parent (and directory, owner) node of this entity.

#ownsEntity $V.ownsEntity

VState:EventLoggedField The 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.
description The ordered list of entities contained in this sourcered node.

#folder $V.folder

VState:EventLoggedField The 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.
description The folder (and directory, owner) node of this media.

#ownsMedia $V.ownsMedia

VState:EventLoggedField The 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.
description The ordered list of medias contained in this sourcered node when seen as a folder

#sourceURL $V.sourceURL

VState:EventLoggedField The 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.
description The unreliable source URL of this Media. This URL is dereferenced when the Media content is accessed and as such is subject to all failure considerations associated with its protocol.

#content $V.content

VState:EventLoggedField The 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.
description The infrastructure-backed octet-stream content of this Media.

#graph $V.graph

VState:EventLoggedField The 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.
description The graph (and container, owner) node of this relation. Typically also either the source or the target but possibly neither.

#ownsRelation $V.ownsRelation

VState:EventLoggedField The 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.
description The ordered list of relations that are connected (and contained, owned) _by_ this sourcered node. This includes both ownsInRelation and ownsOutRelation (ie. incoming and outgoing relations which are also connected by this sourcered node) but also relations which only have this sourcered node as their graph but not as source or target.

#source $V.source

VState:EventLoggedField The 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.
description The source node of this relation.

#hasOutRelation $V.hasOutRelation

VState:CoupledField The class of valospace fields which have a triple expression inside valospace via their coupled fields but lack an event log impression.
description The unordered list of outgoing relations with this sourcerable (but possibly absent) node as their source (note that sourcerable and source are completely separate concepts here).

#target $V.target

VState:EventLoggedField The 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.
description The target node of this relation.

#hasInRelation $V.hasInRelation

VState:CoupledField The class of valospace fields which have a triple expression inside valospace via their coupled fields but lack an event log impression.
description The unordered list of incoming relations with this sourcerable (but possibly absent) node as their target.

#linkedSource $V.linkedSource

VState:EventLoggedField The 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.
description The backlinked source node of this relation. Backlinking implies that the coupled field 'linkedOutRelation' is an event logged field and shall be transactionally modified whenever this field is modified.

#linkedOutRelation $V.linkedOutRelation

VState:EventLoggedField The 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.
description The ordered list of outgoing backlinked relations to this sourcered node.

#linkedTarget $V.linkedTarget

VState:EventLoggedField The 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.
description The backlinked target node of this relation. Backlinking implies that the coupled field 'linkedInRelation' is an event logged field and shall be transactionally modified whenever this field is modified.

#linkedInRelation $V.linkedInRelation

VState:EventLoggedField The 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.
description The ordered list of incoming relations paired to this sourcered node.

#ownerSource $V.ownerSource

VState:EventLoggedField The 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.
description The resource that is both the source and the owner of this relation.

#ownsOutRelation $V.ownsOutRelation

VState:EventLoggedField The 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.
description The ordered list of outgoing relations contained in (and owned by) this sourcered node.

#ownerTarget $V.ownerTarget

VState:EventLoggedField The 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.
description The resource that is both the target and the owner of this relation.

#ownsInRelation $V.ownsInRelation

VState:EventLoggedField The 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.
description The ordered list of incoming relations contained in (and owned by) this sourcered node.

#relations $V.relations

DEPRECATED in favor of: V:ownsRelation The ordered list of relations that are connected (and contained, owned) _by_ this sourcered node. This includes both ownsInRelation and ownsOutRelation (ie. incoming and outgoing relations which are also connected by this sourcered node) but also relations which only have this sourcered node as their graph but not as source or target.
VState:AliasField The 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.
description A deprecation of V:ownsRelation; the ordered list of relations contained within this sourcered node when seen as a graph. Do note that the semantics have changed: ownsRelation can now also contain relations which have this sourcered node as their the target (instead of source) or as neither source nor target. The set of just outgoing relations is 'outgoingRelations' and the set of owned outgoing relations is 'ownsOutRelation'.

#outgoingRelations $V.outgoingRelations

DEPRECATED in favor of: V:hasOutRelation The unordered list of outgoing relations with this sourcerable (but possibly absent) node as their source (note that sourcerable and source are completely separate concepts here).
VState:AliasField The 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.
description The unordered list of outgoing relations with this sourcerable (but possibly absent) node as their source (note that sourcerable and source are completely separate concepts here).

#incomingRelations $V.incomingRelations

DEPRECATED in favor of: V:hasInRelation The unordered list of incoming relations with this sourcerable (but possibly absent) node as their target.
VState:AliasField The 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.
description The unordered list of incoming relations with this sourcerable (but possibly absent) node as their target.

#id $V.id

VState:GeneratedField The 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:
description The immutable string representation of the VRID of this resource.

#rawId $V.rawId

DEPRECATED in favor of: V:id The immutable string representation of the VRID of this resource.
VState:AliasField The 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.
description The immutable string representation of the VRID of this resource.

#vrid $V.vrid

VState:TransientField The class of valospace fields with no general triple expression but with custom semantics for specific queries.
description The immutable, segmented object representation of the VRID of this resource.

#typeName $V.typeName

VState:GeneratedField The 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:
description The dominant type name of this resource

#specializationOf $V.specializationOf

VState:EventLoggedField The 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.
description The prototypes of this resource. All field lookups for which there is no associated value set and whose field descriptors don't have ownDefaultValue are forwarded to the prototype.

#hasSpecialization $V.hasSpecialization

VState:CoupledField The class of valospace fields which have a triple expression inside valospace via their coupled fields but lack an event log impression.
description An unordered set of resources which have this resource as their V:specializationOf.

#ownFields $V.ownFields

VState:TransientField The class of valospace fields with no general triple expression but with custom semantics for specific queries.
description A transient version of this object as if prototype was undefined. All property accesses will only return field values which are directly owned by this resource.

#prototypeOf $V.prototypeOf

VState:CoupledField The class of valospace fields which have a triple expression inside valospace via their coupled fields but lack an event log impression.
description An unordered set of resources which have this resource as their V:hasPrototype.

#hasInstance $V.hasInstance

VState:CoupledField The class of valospace fields which have a triple expression inside valospace via their coupled fields but lack an event log impression.
description An unordered set of resources which have this resource as their direct V:instanceOf.

#ghostOf $V.ghostOf

VState:GeneratedField The 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:
description Ghost prototype of this ghost resource. The ghost prototype is the base resource from which this ghost was created during some primary instantiation. This instantiation (which happens on prototype and results in an instance of it) also ghost-instantiates all the direct and indirect ownlings of the prototype as ghost ownlings in the instance. The instance is called the *ghost host* of all these ghosts. Likewise, the instance prototype is called the ghost host prototype, and the (grand-)ownlings of this ghost host prototype are the ghost prototypes of the corresponding ghosts (ie. this field).} .

#hasGhost $V.hasGhost

VState:CoupledField The class of valospace fields which have a triple expression inside valospace via their coupled fields but lack an event log impression.
description An unordered set of all (materialized) ghosts which have this resource as their V:ghostOf. See VState:section_ghost_instancing for why immaterial ghosts are not listed.

#materializedGhosts $V.materializedGhosts

DEPRECATED in favor of: V:hasGhost An unordered set of all (materialized) ghosts which have this resource as their V:ghostOf. See VState:section_ghost_instancing for why immaterial ghosts are not listed.
VState:AliasField The 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.
description

#unnamedCouplings $V.unnamedCouplings

VState:CoupledField The class of valospace fields which have a triple expression inside valospace via their coupled fields but lack an event log impression.
description Referrers with a missing coupledField referring this resource

#ghostHost $V.ghostHost

VState:GeneratedField The 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:
description The instance resource which brought this ghost into being. This instance is equivalent to the innermost ancestor of this ghost which is not a ghost itself.

#ghostOwner $V.ghostOwner

VState:EventLoggedField The 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.
description The instance resource which owns this materialized ghost or null if this ghost is immaterial. Note that materialized ghosts will have a two own fields: the ghostOwner and the regular owner (or one of its aliases). The removal of either of these owning field relationships will immaterialize, not destroy, the ghost.

#ownsGhost $V.ownsGhost

VState:CoupledField The class of valospace fields which have a triple expression inside valospace via their coupled fields but lack an event log impression.
description Materialized ghost resources which have this instance as their ghost host.

#hashAlgorithm $V.hashAlgorithm

VState:GeneratedField The 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:
description The hash algorithm used to create the content hash of this Bvob

#contentHash $V.contentHash

VState:GeneratedField The 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:
description The content hash of the octet-stream associated with this Bvob

#contentLength $V.contentLength

VState:GeneratedField The 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:
description The number of octets in the octet-stream associated with this Bvob.

#contentReferrers $V.contentReferrers

VState:CoupledField The class of valospace fields which have a triple expression inside valospace via their coupled fields but lack an event log impression.
description The unordered set of V:content references to this Bvob from within this view of the world.

#owner $V.owner

VState:EventLoggedField The 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.
description The owner of this extant resource.

#name $V.name

VState:EventLoggedField The 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.
description The primary ValOS name of this extant resource. This name is a local identifier to differentiate the resource from other resources within the same context. Idiomatically this context is all resources of a particular type which are owned by the same resource.

#hasPrototype $V.hasPrototype

VState:EventLoggedField The 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.
description The prototype of this extant resource. This represents the traditional prototypical inheritance where inherited field values are not remapped in any way.

#instanceOf $V.instanceOf

VState:EventLoggedField The 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.
description The instance prototype of this extant resource. This represents valos 'ghost instantiation' where all recursively owned resources of the instanceOf are also inherited as 'ghosts' under this extant resource.

#ownlings $V.ownlings

VState:EventLoggedField The 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.
description The ordered list of all resources owned by this extant resource. This list is a union of all fields which define a VState:isOwnerOf.

#unnamedOwnlings $V.unnamedOwnlings

VState:EventLoggedField The 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.
description The ordered list of all resources owned by this extant resource which are not contained in another VState:isOwnerOf field list.

#isFrozen $V.isFrozen

VState:EventLoggedField The 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.
description Indicates whether this extant resource is frozen. A frozen resource nor any of its ownlings cannot have any of their primary fields be modified. Setting isFrozen to true is (by design) an irreversible operation.

#nameAlias $V.nameAlias

VState:AliasField The 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.
description The primary name of this resource. It is globally non-unique but often context-dependently unique. This is an alias of V:name for circumventing conflicts with the native javascript property 'name' in certain execution contexts

#prototypeAlias $V.prototypeAlias

DEPRECATED in favor of: V:specializationOf The prototypes of this resource. All field lookups for which there is no associated value set and whose field descriptors don't have ownDefaultValue are forwarded to the prototype.
VState:AliasField The 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.
description The prototype of this resource. This is an alias for V:specializationOf to bypass conflicts with native javascript property 'prototype' in certain execution contexts. Deprecated after 'prototype' was renamed as V:specializationOf, making this alias unnecessary.

#scope $V.scope

VState:EventLoggedField The 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.
description The scope resource (and owner) of this ScopeProperty.

#value $V.value

VState:EventLoggedField The 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.
description The value of this ScopeProperty.

#twinspace $V.twinspace

VState:GeneratedField The 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:
description The twinspace of this ScopeProperty. Equates to the expanded prefix of the V:name of this ScopeProperty using the context of this chronicle. Additionally if the local part of the V:name is an empty string then the V:value of this ScopeProperty defines the twinspace id of the scope resource for this twinspace.

#subject $V.subject

VState:GeneratedField The 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:
description The subject of this ScopeProperty when interpreted as a reified rdf:Statement. Equates to the twinspace id of the scope resource using the V:twinspace of this ScopeProperty.

#predicate $V.predicate

VState:GeneratedField The 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:
description The predicate of this ScopeProperty when interpreted as a reified rdf:Statement. Equates to the IRI expansion of V:name of this ScopeProperty using the context of this chronicle.

#object $V.object

VState:GeneratedField The 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:
description The object of this ScopeProperty when interpreted as a reified rdf:Statement. If the V:value refers to a scope which has this twinspace id defined (ie. it owns a property with twinspace id as a name), then this field will be expressed as that twinspace id. Otherwise equals to the V:value itself.

#ownsProperty $V.ownsProperty

VState:EventLoggedField The 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.
description The ordered list of ScopeProperty resources of this scope