:PARENT
Purpose
Verifies that one frame is a parent of another, or returns all
parents of a frame. A parent is a direct or indirect superclass.
Parameters
- child
- The child frame.
- parent
- Either a frame to be tested or a variable to be bound.
- If the :INCLUSIVE keyword is present and the parent argument
is a variable, the child will be included as one of the
bindings of the variable.
Examples
(:PARENT Rover Physical_Objects) ;; succeeds because Rover (a dog) is a physical object
(:PARENT Frog ?parent) ;; retrieves all parents of Frogs
(:PARENT Frog ?parent :INCLUSIVE) ;; retrieves Frog and all of its parents
Success criteria
The argument child must be a class or instance.
If the clause is ground, succeeds if the relationship is true.
If the clause is not ground, succeeds if it retrieves at least one parent.
Failure criteria
Fails if the child is not a class or instance, if the parent-child relationship is not true,
or if the child has no parents.
Notes
This can generate a lot of bindings. You may want to use
:DIRECT-SUPERCLASS, :DIRECT-CLASS, :SUPERCLASS or :CLASS instead.
Related commands
Back to...
Algernon commands
Algernon Documentation Central
Algernon home page