REGO Methods

June 19, 2026 ยท View on GitHub

dome

ODRL ClassODRL KeyRego-MethodDescription
actiondome-op:createdefaultCheck if the given request is a creation
leftOperanddome-op:rolerole(verifiable_credential,retrieves the roles from the (lear) credential, that target the current organization
leftOperanddome-op:currentPartycurrent_party(credential)the current (organization)party,
leftOperanddome-op:relatedPartyrelated_party(http_part)get the entity from tm-forum and extract related party
leftOperanddome-op:ownerowner(related_party)filter the given list of related_party(ies) for one with role "Owner"
leftOperanddome-op:relatedParty_rolerelated_party_role(entity)return the role from the related party of an entity
leftOperanddome-op:validFor_endDateTimevalid_for_end_date_time(entity)return the end of the validity of an entity
leftOperanddome-op:validFor_startDateTimevalid_for_start_date_time(entity)return the start of the validity of an entity

odrl

ODRL ClassODRL KeyRego-MethodDescription
rightOperandodrl:policyUsagepolicy_usagereturn the current time in ms, e.g. the time that the policy is used
operandodrl:anddefaultchecks if all given constraints are true
operandodrl:andSequencedefaultchecks if all given constraints are true
operandodrl:ordefaultcheck that at least one of the constraints is true
operandodrl:xonedefaultcheck that exactly one of the constraints is true
operatorodrl:eqdefaultcheck that both operands are equal
operatorodrl:hasPartdefaultcheck that the rightOperand is in the leftOperand
operatorodrl:gtdefaultcheck that the leftOperand is greater than the rightOperand
operatorodrl:gteqdefaultcheck that the leftOperand is greater or equal to the rightOperand
operatorodrl:isAllOfdefaultcheck that the given sets are equal
operatorodrl:isAnyOfdefaultcheck that the leftOperand is contained in the rightOperand set
operatorodrl:isNoneOfdefaultcheck that the leftOperand is not contained in the rightOperand set
operatorodrl:isPartOfdefaultcheck that the rightOperand is contained in the leftOperand set
operatorodrl:ltdefaultcheck that the leftOperand is less than the rightOperand
operatorodrl:lteqdefaultcheck that the leftOperand is less or equal to the rightOperand
operatorodrl:neqdefaultcheck that the operands are unequal
operatorodrl:regexregex_operator(leftOperand,default regex_operator(leftOperand, rightOperand) := false
actionodrl:modifydefaultchecks if the given request is a modification
actionodrl:deletedefaultchecks if the given request is a deletion
actionodrl:readdefaultchecks if the given request is a read operation
actionodrl:usedefaultchecks if the given request is a usage
targetodrl:target,odrl:uiddefaultcheck that the uid of the target is equal to the given uid
assigneeodrl:uid,odrl:assigneedefaultis the given user id the same as the given uid

ordl

ODRL ClassODRL KeyRego-MethodDescription
leftOperandodrl:currentTimecurrent_timereturns the current time in ms
leftOperandodrl:dayOfWeekday_of_week(ts)Day of week from timestamp (0=Mon, 6=Sun)
leftOperandodrl:hourOfDayhour_of_day(ts)Hour of day (UTC) from timestamp (0โ€“23)

gaiax

ODRL ClassODRL KeyRego-MethodDescription
constraintovc:constraintsdefaultevaluates all provided constraints
constraintovc:credentialSubjectTypedefaultcompares the credentials' subject-type with the provided one
leftOperandovc:leftOperandgetClaim(verifiable_credential,retrieves the claim from the credential, using the json-path of the claim

json

ODRL ClassODRL KeyRego-MethodDescription
actionjson:readdefaultchecks if the action field in the JSON payload indicates a read operation
actionjson:writedefaultchecks if the action field in the JSON payload indicates a write operation
actionjson:createdefaultchecks if the action field in the JSON payload indicates a create operation
actionjson:deletedefaultchecks if the action field in the JSON payload indicates a delete operation
actionjson:usedefaultchecks if the action field in the JSON payload indicates any usage operation
leftOperandjson:payloadValue#extracts a value from the JSON payload at a given dot-notation path (e.g., "$.my.field")
leftOperandjson:subjectValuesubject_value(subject,extracts a value from the subject/identity object at a given dot-notation path
leftOperandjson:payloadTypepayload_type(payload)returns the type field from the JSON payload

utils

ODRL ClassODRL KeyRego-MethodDescription
helper##organization_diddid of the organization running the PAP
helper##requestthe request as part of the policy input
helper##bodythe request body as json object
helper##http_partthe http request
helper##headersthe headers of the request
helper##authorizationthe (undecoded) authorization header
helper##decoded_authorizationthe decoded authorization jwt
helper##decoded_token_payloadthe decoded payload of the jwt
helper##verifiable_credentialthe verifiable credential received as part of the token
helper##issuerthe issuer of the credential
helper##tokenthe unprefixed bearer token
helper##entitythe entity provided as http-body
helper##targetthe target of the request, found as the last part of the path
genericorganization_didorganization_diddid of the organization running the PAP
genericrequestrequestthe full input request object
genericpayloadpayloadthe JSON payload from the input request
genericentityentityalias for the payload, for compatibility with existing mappings that use helper.entity
genericsubjectsubjectthe subject/identity information from the input request
generictargettargetthe target extracted from the payload's target field
genericget_value#extracts a value from the payload at a given dot-notation path (e.g., "$.my.field")
genericget_subject_valueget_subject_value(value_path)extracts a value from the subject at a given dot-notation path

ngsild

ODRL ClassODRL KeyRego-MethodDescription
actionngsild:createdefaultCheck if the given request is a creation
leftOperandngsi-ld:entityTypeentity_type(http_part)retrieves the type from an entity, either from the request path or from the body
leftOperandngsi-ld:#retrieves the value of the property, only applies to properties of type "Property".
leftOperandngsi-ld:_observedAt#retrieves the observedAt of the property The method should be concretized in the mapping.json,
leftOperandngsi-ld:_modifiedAt#retrieves the modifiedAt of the property The method should be concretized in the mapping.json,
leftOperandngsi-ld:#retrieves the object of the relationship, only applies to properties of type "Relationship".
leftOperandngsi-ld:entityTypeGroupentity_type_group(http_part)returns the entity type - let the operator do the comparison

tmf

ODRL ClassODRL KeyRego-MethodDescription
actiontmf:createdefaultCheck if the given request is a creation
leftOperandtmf:lifecycleStatuslife_cycle_status(entity)return the lifeCycleStatus of a given entity
leftOperandtmf:resourceresource_type(http_part)retrieves the type of the resource from the path

dspace

ODRL ClassODRL KeyRego-MethodDescription
actiondspace:readdefaultallows if the request scope is not a contract negotiation or transfer process
actiondspace:useis_use(_)allows any request scope unconditionally
leftOperanddspace:membershipTypemembership_type(subject)retrieves the membershipType from a MembershipCredential in the vc claims
leftOperanddspace:scopescope(request)retrieves the scope from the payload
leftOperanddspace:participantparticipant(request)retrieves the participant from the payload

vc

ODRL ClassODRL KeyRego-MethodDescription
assigneeodrl:anyis_anyallows for any user
leftOperandvc:rolerole(verifiable_credential,retrieves the roles from the credential, that target the current organization
leftOperandvc:currentPartycurrent_party(credential)the current (organization)party,
leftOperandvc:typetypes(verifiable_credential)the type(s) of the current credential. Converted to array if string type.

http

ODRL ClassODRL KeyRego-MethodDescription
operatorhttp:isInPathdefaultcheck that left operand is in the path of the right operand
leftOperandhttp:pathpath(http_part)returns the currently requested path
leftOperandhttp:bodyValuebody_value(body,retrieves the value of the body content at the given path.