GraphLink graph.link@1

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.161.0.

Version
1.0.0
Owner
graph
Visibility
public
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/graph/link.v1.json

graph.link@1: a directed, typed relation between canonical OpenVibe object names (plan 2026-10-28 section 4.1). The owning service supplies the OVRNs and relation; no graph producer is live yet.

Fields

FieldTypeRequiredDescriptionConstraints
fromstringyes
  • pattern ^ovrn:[a-z][a-z0-9-]*:.+$
  • maxLength 512
relstringyesTyped relation, for example derivedFrom, on, soldBy or cites.
  • pattern ^[a-z][A-Za-z0-9]{0,63}$
tostringyes
  • pattern ^ovrn:[a-z][a-z0-9-]*:.+$
  • maxLength 512

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: derived-from
{
  "from": "ovrn:meme:prj_01J0000000000000000000000A:meme/mem_01K0000000000000000000000B",
  "rel": "derivedFrom",
  "to": "ovrn:video:prj_01J0000000000000000000000A:clip/clp_01K0000000000000000000000C"
}
Rejected: missing-target
{
  "from": "ovrn:meme:prj_01J0000000000000000000000A:meme/mem_01K0000000000000000000000B",
  "rel": "derivedFrom"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('graph.link@1', value);   // { valid, errors: [{ path, message }] }