'Valos extends boundlessly across the valospace-time fabric.' (...in progress(tm))

-> Vertically: as a full application development solution valos radically simplifies the semantic web technology stack.

-> Horizontally: as a global, de-centralized ecosystem valos eases cross-organization interfacing.

-> In depth: with its unified resource model valos blurs the boundary between frontends and backends.

-> Temporally: valos unifies document state and change updates into seamless event stream *chronicles*.

In other words, valos is a bit ambitious and a lot to take in at once.

To address this the first part of this document provides separate introduction paths into valos for a software developer (referred to as a valonaut), for a systems operator (as a technician) and for a project manager (as a voyager).

Choosing the most familiar path helps you to get hands-on the quickest.

The second part of this document is the valospace API reference and is aimed for valonauts for repeat viewing.

This document is part of the vault workspace @valos/kernel (of domain @valos/kernel) which has the description: `ValOS common infrastructure tools and libraries monorepository`.

§ First valosteps to the three primary valos roles

The three traditional roles of application developer, systems operator and project manager have their own unique characteristics in valos ecosystem and are called valonaut, technician and voyager respectively.

Each role has a detailed (editor's note: eventually) how-to guide which are linked and briefly introduced below. The roles support each other and the guides reflect this. The hands-on introduction section of each guide also gives a high-level overview of the rest.

How do Valonauts develop valospace apps for users?

As a valonaut you create, share and deploy web content and interactive applications fully from inside Valospace.

You use a web editor called Zero and with it employ traditional web technologies; HTML5, CSS and the Javascript dialect valoscript

The skills you learn to do this are like cycling or writing - they are used to support your other interests. While you don't need to become a professional you certainly can!

How do Technicians deploy and maintain the valos fabric infrastructure?

As a technician you develop and operate the ValOS fabric, the globally distributed web-like infrastructure of servers, services and components which underlies the Valospace.

You use vlm and employ your existing, likely professional knowledge of JavaScript, Node.js, DevOps, backend, library and other software development skills.

You create new open source and/or proprietary node packages. These permanently create new fabric functionalities and expand the Valospace by integrating it to old world systems.

How do Voyagers understand valos capabilities in order to make decisions?

As a voyager you have stakes that matter. Whether you were to invest on a ValOS collaborator as a financier, to adopt ValOS as technology as an executive or just to commit your personal time and energy on a ValOS project you need to see forward.

To make sound decisions and to position yourself proactively you need to understand the big picture and philosophy of the ValOS ecosystem. Only then you can enlighten others.

You use tailored but real-world ValOS demo setups to illustrate how ValOS a solution could be configured to meet the needs at hand. Your audience can be your customer, your team or even just yourself.

§ The V valospace namespace

'V' ie. the Valospace namespace provides vocabulary and definitions of the primary ValOS resources.

§ V 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#

§ V valospace resource types

This section defines all valospace resource types introduced by the @valos/kernel packages. Any instance of a resource type is always recorded in an event log.

VRevdoc:brief rdfs:subClassOf

§ V valosheath classes The class of all valosheath type prototype properties.

This section describes all valosheath classes introduced by the @valos/kernel packages. These classes are provided for scripts by the @valos/engine and their instances are not recorded in event logs.

rdfs:subClassOf description

§ V valospace fields

This section defines all valospace resource fields introduced by the @valos/kernel packages. The values of these fields are either directly recorded in or indirectly resolved from event log(s).

rdfs:domain rdfs:range rdf:type rdfs:subPropertyOf VModel:coupledField

§ V valosheath properties The class of all valosheath type prototype properties.

This section describes all valosheath properties introduced by the @valos/kernel packages. These properties are provided for scripts by the @valos/engine and their values are not recorded in event logs.

rdfs:domain rdfs:range

§ V valosheath methods The class of all valosheath type prototype methods.

This section describes all valosheath methods introduced by the @valos/kernel packages.

rdfs:domain rdfs:range

§ V valosheath object properties The class of all valosheath object properties.

This section describes all valosheath object properties introduced by the @valos/kernel packages. This includes direct properties on type and class objects themselves. These properties are provided for scripts by the @valos/engine and their values are not recorded in event logs.

rdf:subject rdfs:range

§ V valosheath object methods The class of all valosheath object methods.

This section describes all valosheath object methods introduced by the @valos/kernel packages. This includes direct methods on the type and class objects themselves. These properties are provided for scripts by the @valos/engine and their values are not recorded in event logs.

rdf:subject rdfs:range

§ V remaining vocabulary

rdf:type rdfs:subClassOf

§ JSON-LD context term definitions

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