Hello,
As far as I understand, the optional variables list in BindLink can be
filled with TypedVariableLinks
whereupon only nodes of that type are used to ground that variable.
I want to know what I should do if I want to ground a pattern with
particular types of InheritanceLinks instead of
particular types of nodes. Do I have to write the code to do such things or
does it exist already? Is this even possible?
I realize this is vague so I am providing an example program that I want to
make work.
I have a scheme program below that has a BindLink, which has two variables
$man and
$color. I want to make cog-bind! look for InheritanceLinks in atomspace and
ground $color with those
links that have the base ConceptNode "Color"(namely C1). And similarly I
want it to ground the $man with the
appropriate InheritanceLink(namely P1).
(define C1
(InheritanceLink
(ConceptNode "Red")
(ConceptNode "Color")
)
)
(define C2
(ConceptNode "Blue")
)
(define P1
(InheritanceLink
(ConceptNode "British")
(ConceptNode "Man")
)
)
(define question
(BindLink
;Variable list
(What do I put here to only match only P1 with "$man" and C1
with "$color"?)
;Pattern
(EvaluationLink (stv 1 1)
(PredicateNode "LivesIn")
(ListLink
(VariableNode "$man")
(VariableNode "$color")
)
)
;Return Value
(EvaluationLink (stv 1 1)
(PredicateNode "CanLiveIn")
(ListLink
(VariableNode "$man")
(VariableNode "$color")
)
)
)
)
(cog-bind! question)
Yours sincerely
Gaurav Gautam
--
You received this message because you are subscribed to the Google Groups
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit
https://groups.google.com/d/msgid/opencog/08cbd232-9817-4753-b7ad-217b4de61e5b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.