actions:Invocable
An action that is invocable via a specified handler.
Extends: actions:Action
Properties
actions:cacheEnabled (optional, max 1)
Whether HTTP response caching is enabled for this Query action.
Action may declare whether HTTP response caching is enabled via act:cacheEnabled boolean.
Defaults to true for Query actions. Set to false to disable caching even for Query-classified actions.
Mutation actions are never cached regardless of this setting.
Inherited from parent class.
actions:cacheKeyFunction (optional, max 1)
A ValueFunction that generates cache key from the action invocation.
Action may specify a ValueFunction for custom cache key generation.
Function receives ?_process binding. Navigate to the invocation via ?_process os:parent ?invocation, then access act:subject and act:payload.
Must SELECT ?value containing the cache key string.
If not specified, defaults to hash of action URI + subject URI + payload model.
### Cache key based on subject URI only (ignores payload)
[
os:datatype xsd:string ;
os:fromValue """
SELECT ?value WHERE {
?_process os:parent ?invocation .
?invocation act:subject ?subject .
BIND(STR(?subject) AS ?value)
}
"""
]
### Cache key based on subject + specific payload property
[
os:datatype xsd:string ;
os:fromValue """
SELECT ?value WHERE {
?_process os:parent ?invocation .
?invocation act:subject ?subject .
?invocation act:payload ?payload .
?payload ex:filterType ?filter .
BIND(CONCAT(STR(?subject), ":", ?filter) AS ?value)
}
"""
]Inherited from parent class.
actions:cacheTTL (optional, max 1)
Time-to-live in seconds for caching HTTP responses.
Action may specify cache TTL in seconds. Must be positive integer.
Only applies to actions classified as Query (act:isClassifiedAs act:Query).
When not specified, defaults to 300 seconds (5 minutes).
Inherited from parent class.
actions:handler (required, max 1)
The handler which is responsible for executing the action.
Invocable handler must reference exactly one valid Handler instance that can execute the action. This is required for action execution.
actions:payloadScheme (optional, max 1)
The OWL class which represents the expected payload of an execution of the action. Must be a subclass of act:Payload.
Action payloadScheme must reference an OWL class that is a subclass of act:Payload (not an instance).
When an action is invoked, this class and its shape are used as the call signature to validate the input.
If a payload scheme does not exist for an action, we use an empty argument list when invoking.
Inherited from parent class.
actions:resultScheme (required, max 1)
The OWL class which represents the expected result structure of the action execution.
Action must have exactly one resultScheme that defines the structure of returned results.
When an action is invoked, this class and its shape define the structure of the returned results.
actions:subjectScheme (optional, max 1)
The OWL class which represents the expected type of subject for this action.
Action subjectScheme must reference an OWL class (not an instance).
When an action is invoked with a subject, this class is used for overload resolution based on subject type matching.
If a subject scheme does not exist for an action, the action accepts any subject type or no subject.
For overloaded actions, the subjectScheme must be a subclass of the parent action's subjectScheme (if the parent has one).
Inherited from parent class.
actions:overloads (optional)
Links an action to a more general action that it overloads with a more specific implementation.
Action overloads must reference valid Action instances.
The overloading action provides a more specific implementation for a more specific subject type (via act:subjectScheme).
An action may overload multiple actions to support complex type hierarchies.
The subjectScheme of an overloading action must be a subclass of the overloaded action's subjectScheme.
Inherited from parent class.
actions:subjectRequired (optional, max 1)
Whether this action requires a subject to be provided in invocations.
Action may declare whether subject is required via act:subjectRequired boolean.
If true, invocations without a subject will fail with ActionResolutionException.
If false or absent, subject is optional and the action can be invoked without one.
Actions with subjectScheme should explicitly declare subjectRequired to clarify their contract.
Inherited from parent class.