Class Remove
java.lang.Object
org.apache.jena.reasoner.rulesys.builtins.BaseBuiltin
org.apache.jena.reasoner.rulesys.builtins.Remove
- All Implemented Interfaces:
Builtin
Remove the body clause given by index arguments from the database.
-
Field Summary
Fields inherited from class org.apache.jena.reasoner.rulesys.builtins.BaseBuiltin
BASE_URI
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetName()
Return a name for this builtin, normally this will be the name of the functor that will be used to invoke it.void
headAction
(Node[] args, int length, RuleContext context) This method is invoked when the builtin is called in a rule head.boolean
Returns false if this builtin is non-monotonic.Methods inherited from class org.apache.jena.reasoner.rulesys.builtins.BaseBuiltin
bodyCall, checkArgs, getArg, getArgLength, getURI, isSafe
-
Constructor Details
-
Remove
public Remove()
-
-
Method Details
-
getName
Return a name for this builtin, normally this will be the name of the functor that will be used to invoke it. -
headAction
This method is invoked when the builtin is called in a rule head. Such a use is only valid in a forward rule.- Specified by:
headAction
in interfaceBuiltin
- Overrides:
headAction
in classBaseBuiltin
- Parameters:
args
- the array of argument values for the builtin, this is an array of Nodes.length
- the length of the argument list, may be less than the length of the args array for some rule enginescontext
- an execution context giving access to other relevant data
-
isMonotonic
public boolean isMonotonic()Returns false if this builtin is non-monotonic. This includes non-monotonic checks like noValue and non-monotonic actions like remove/drop. A non-monotonic call in a head is assumed to be an action and makes the overall rule and ruleset non-monotonic. Most JenaRules are monotonic deductive closure rules in which this should be false.- Specified by:
isMonotonic
in interfaceBuiltin
- Overrides:
isMonotonic
in classBaseBuiltin
-