Parameters define what kind of values can be used to instantiate a component with.


JSON-LD Shortcut URI Description
/ oo:Parameter A parameter of a component.


The type oo:Parameter is automatically inferred when linked to a component using oo:parameter, so that type does not have to be defined explicitly.


JSON-LD Shortcut URI Domain → Range Description
unique oo:uniqueValue oo:Parameter → xsd:boolean If set to true, only a single value for the given parameter in a component instance can be set. Default is false.
range rdfs:range oo:Parameter → ? Defines the range of a certain parameter, such as xsd:boolean or xsd:string.
lazy oo:lazyValue oo:Parameter → xsd:boolean If set to true, values will not be passed directly, instead they will be passed lazily by being wrapped inside a () => Promise<>. Values can be retrieved by calling await value(). Default is false.


Components.js has the ability to automatically convert specific parameter ranges to certain JavaScript datatypes. Currently, the following conversions of literals are supported:

Range JavaScript
xsd:boolean boolean
xsd:integer number
xsd:number number
xsd:int number
xsd:byte number
xsd:long number
xsd:float float
xsd:decimal float
xsd:double float
All others string

Example: boolean parameter

MyModule/MyComponent#MyParam is a parameter that accepts unique boolean values.

  "@id": "ex:MyModule/MyComponent#MyParam",
  "comment": "Some parameter that only accepts boolean values",
  "unique": true,
  "range": "xsd:boolean"

Example Source