← Back to team overview

opencog-dev team mailing list archive

Rule argument validation in PLN

 

Hi Ari,

I'm trying to implement/modify the forward chainer in PLN.

I'm wondering about specifically what argument validation does in the
Rules. Initially I thought it would ensure both the structure and type
of the arguments were correct, but it seems to only check type... at
least for the DeductionRule.

Say we have nodes:
A B C
and inheritance links:
L1 = A->B
L2 = B->C

And we want to find L3 = A->C

If we present the Rule with arguments in the order < L1, L2 > then
deduction works as expected. But if we present with < L2, L1 > then it
outputs L3 = B->B, which isn't all that useful and should probably not
return true when validation of arguments is attempted.

Now perhaps I broke something while changing things, but I wanted to
check if the design ever checked that the arguments were connected in
the right way (i.e. L1.getOutgoingAt(1) == L2.getOutgoingAt(0) ) or if
that's meant to be left to the code constructing the argument list?

Thanks!
J



Follow ups