Skip to main content

Context-Dependent Functions

Some available functions are only available in certain contexts. For example, ?o, which gets the object of a triple is relevant for a _predicate/spec, but not for a _collection/spec. Context-dependent functions can be used alongside universal functions.

Linked is the full list of all available context-dependent functions.

Function code examples:

(< 1000 (?o))(== (?auth_id) (?sid))(+ (objT) 100)

To write a full function, which checks whether the previous object of the flake is greater than the (proposed) object of the flake, we could add the following function to our database:

[  {    "_id": "_fn",    "name": "decreaseObject?",    "code": "(> (?pO) (?o))",    "doc": "Checks whether the (proposed) object is less than the previous object."  }]

Notice that because we do not use any params, we do not need to specify _fn/params.