This library provides the definitions and reference implementation of the ValOS sourcerer architecture which is used to route ValOS event streams.

This document is part of the library workspace @valos/sourcerer (of domain @valos/kernel) which has the description: `ValOS Sourcerer API, schema`

§ The ValOS protocol: 'valosp:'

valosp: scheme specifies remote chronicle sourcery as a combination of four primary https operations:
  • narrate events via GET
  • proclaim commands via PUT (single command) and POST (multi-command)

  • bvob upload via multipart POST

  • bvob download via GET

A valid valosp: authority URI has no query or fragment parts and its hierarchy part (which can be arbitrarily deep) must terminate to '/', (f.ex.:valosp://localhost:5443/deep/taur/).

Given an authority URI, a chronicle URI is an immediate sub-path with chronicle id route-vplot as the step, f.ex.:valosp://localhost:5443/deep/taur/~raw!example-chronicle/

The primary operations of the chronicle are sub-paths of the chronicle URI. These operations are grouped into three different route signatures (assuming authority URI sans terminating "/" as base):
  • /:chroniclePlot/-log!:eventIndex/ GET, PUT, OPTIONS: single-event, restful application/json single object operations
  • /:chroniclePlot/-log{'!:startIndex}{'!:endIndex} GET, POST, OPTIONS: multi-event, application/json array operations. Note no terminating "/"

  • /:chroniclePlot/~bvob!:contentHash/ GET, POST, OPTIONS: bvob operations, with application/octet-stream download andmultipart/form-data upload as per rfc1887

The event objects are version "0.3" events with the delta aspect as their root aspect.

§ The VSourcerer valospace namespace of the library ontology of @valos/sourcerer

The 'VSourcerer' namespace describes the @valos/sourcerer library public API.

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

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

rdfs:subClassOf description

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

rdfs:domain rdfs:range

§ VSourcerer valospace resource 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.

VRevdoc:brief rdfs:subClassOf

§ VSourcerer 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.

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

§ VSourcerer field resolvers The class of all resolver names. Resolvers are verbs which are used for resolving generated properties.

Comment rdf:type

§ VSourcerer remaining vocabulary

rdf:type rdfs:subClassOf

§ VSourcerer JSON-LD context term definitions

Term Definition @id @type @container
restriction
@base https://valospace.org/sourcerer/0#