This document specifies VTwindoc, a VDoc extension which specifies an isomorphism and synchronization transformations between VDoc documents and valospace resources.

More specifically VTwindoc allows for the serialization and deserialization of an arbitrary selection of valospace resources into a VDoc document array and back even if the source resources are not a representation of a VDoc document nor use any VDoc core or extension ontologies.

This document has not been reviewed. This is a draft document and may be updated, replaced or obsoleted by other documents at any time.

This document is part of the ValOS kernel specification.

The extension is specified and supported by @valos/twindoc npm package.

VTwindoc provides both full isomorphic synchronization as well as incremental, additive updates between VDoc documents and valospace resources. The fully isomoprhic extraction and emission transformations to valospace resources provide lossless roundtrips to both directions:
  1. emit + extract: a roundtrip starting from VDocState into valospace back into VDocState
  2. extract + emit: a roundtrip starting from valospace into VDocState back into valospace

VTwindoc also specifies incremental transformations which are given a diff base in addition to the source and which compute a diffset and then merge the resulting diffset to the pre-existing transformation target. This not only gives performance advantages but also makes it possible to have the final document be a combination of several partial primary sources.

§ The VTwindoc fabric namespace of the library ontology of @valos/twindoc

'VTwindoc' namespace provides vocabulary for defining hypertwin mappings and configurations; actual hypertwin content is represented using the valos core ontologies and possible extension content ontologies.

§ VTwindoc 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/
VTwindoc https://valospace.org/twindoc/0#
VKernel https://valospace.org/kernel/0#

§ VTwindoc VDoc classes

rdfs:subClassOf description

§ VTwindoc VDoc properties

rdfs:domain rdfs:range

§ VTwindoc remaining vocabulary

rdf:type rdfs:subClassOf

§ VTwindoc JSON-LD context term definitions

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

§ VTwindoc transformations

§ VTwindoc extraction rules

Rule name Inter-node rdf:type Owner property Body property ';rest' property Comment

§ VTwindoc extractee API

API identifier rdf:type

§ VTwindoc emission output

VTwindoc emits event log updates into valospace resources.@valos/hypertwin provides tools which implement this transformation using the gateway API.

§ VTwindoc emission rules