Verifies that one frame is a parent of another, or returns all
parents of a frame. A parent is a direct or indirect superclass.
- The child frame.
- 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.
(: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
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.
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.
This can generate a lot of bindings. You may want to use
:DIRECT-SUPERCLASS, :DIRECT-CLASS, :SUPERCLASS or :CLASS instead.
Algernon Documentation Central
Algernon home page