C:\trane\logicagent>ruby logicbot.rb Hello I have loaded C:/trane/logicagent/logicagent-api.yaml. C:/trane/logicagent/graph.yaml loaded. > show generic_a_r_b's api generic_a_r_b | (.*) (should be) (.*) generic_a_r_b | (.*) (loves) (.*) generic_a_r_b | (.*) (talked about) (.*) generic_a_r_b | (.*) (talked about) (.*) generic_a_r_b | (.*) (wrote) (.*) generic_a_r_b | (.*) (likes) (.*) generic_a_r_b | (.*) (knows) (.*) generic_a_r_b | (.*) (hit) (.*) generic_a_r_b | (.*) (is a member of) (.*) generic_a_r_b | (.*) (are older than) (.*) generic_a_r_b | (.*) (is older than) (.*) generic_a_r_b | (.*) (is faster than) (.*) generic_a_r_b | (.*) (are faster than) (.*) generic_a_r_b | (.*) (is taller than) (.*) generic_a_r_b | (.*) (is funnier than) (.*) generic_a_r_b | (.*) (is greater than) (.*) generic_a_r_b | (.*) (is heavier than) (.*) generic_a_r_b | (.*) (is smaller than) (.*) generic_a_r_b | (.*) (are smaller than) (.*) generic_a_r_b | (.*) (is warmer than) (.*) generic_a_r_b | (.*) (is better than) (.*) generic_a_r_b | (.*) (is bigger than) (.*) generic_a_r_b | (.*) (is larger than) (.*) > (.*) (is a parent of) (.*) is like (.*) (loves) (.*) Okay, (?i-mx:(.*) (is a parent of) (.*)) has been added, and will now call generic_a_r_b. > (.*) (is an ancestor of) (.*) is like (.*) (loves) (.*) Okay, (?i-mx:(.*) (is an ancestor of) (.*)) has been added, and will now call generic_a_r_b. > logicbot: if input =~ /(.*) is a parent of (.*)/ then self.send("#{$1} is an ancestor of #{$2}") end Okay I have added if input =~ /(.*) is a parent of (.*)/ then self.send("#{$1} is an ancestor of #{$2}") end. > John is a parent of Charles Okay, John is a parent of Charles. > Charles is a parent of William Okay, Charles is a parent of William. > is John a parent of William? I have no knowledge that John is a parent of William. > is John a parent of Charles? I have no knowledge that John is a parent of Charles. > logicagent: show generic_does_a_r_b's api generic_does_a_r_b | does (.*) (love) (.*) generic_does_a_r_b | did (.*) (talk about) (.*) generic_does_a_r_b | did (.*) (talk about) (.*) generic_does_a_r_b | did (.*) (write) (.*) generic_does_a_r_b | does (.*) (like) (.*) generic_does_a_r_b | does (.*) (know) (.*) generic_does_a_r_b | did (.*) (hit) (.*) > is (.*) (a parent of) (.*) is like does (.*) (love) (.*) Okay, (?i-mx:is (.*) (a parent of) (.*)) has been added, and will now call generic_does_a_r_b. > is John a parent of Charles? Yes, John a parent of Charles. > show generic_is_a_r_b's api generic_is_a_r_b | should (.*) (be) (.*) generic_is_a_r_b | does (.*) (include) (.*) generic_is_a_r_b | is (.*) (an ancestor of) (.*) generic_is_a_r_b | is (.*) (a member of) (.*) generic_is_a_r_b | are (.*) (older than) (.*) generic_is_a_r_b | is (.*) (older than) (.*) generic_is_a_r_b | is (.*) (faster than) (.*) generic_is_a_r_b | are (.*) (faster than) (.*) generic_is_a_r_b | is (.*) (taller than) (.*) generic_is_a_r_b | is (.*) (funnier than) (.*) generic_is_a_r_b | is (.*) (greater than) (.*) generic_is_a_r_b | is (.*) (heavier than) (.*) generic_is_a_r_b | is (.*) (smaller than) (.*) generic_is_a_r_b | is (.*) (warmer than) (.*) generic_is_a_r_b | is (.*) (better than) (.*) generic_is_a_r_b | is (.*) (bigger than) (.*) generic_is_a_r_b | is (.*) (larger than) (.*) generic_is_a_r_b | is (.*) (.* than) (.*) > is John an ancestor of William? Yes, John is an ancestor of William. > show generic_why_is_a_r_b's api generic_why_is_a_r_b | why should (.*) (be) (.*) generic_why_is_a_r_b | why did (.*) (hit) (.*) generic_why_is_a_r_b | why is (.*) (taller than) (.*) generic_why_is_a_r_b | why is (.*) (funnier than) (.*) generic_why_is_a_r_b | why is (.*) (greater than) (.*) generic_why_is_a_r_b | why is (.*) (better than) (.*) generic_why_is_a_r_b | why is (.*) (bigger than) (.*) generic_why_is_a_r_b | why is (.*) (larger than) (.*) generic_why_is_a_r_b | why is (.*) (smaller than) (.*) > why is (.*) (an ancestor of) (.*) is like why is (.*) (taller than) (.*) Okay, (?i-mx:why is (.*) (an ancestor of) (.*)) has been added, and will now call generic_why_is_a_r_b. > why is John an ancestor of William? John an ancestor of William because: john is an ancestor of charles, and charles is an ancestor of william > Jack = John Okay, Jack = John. > is Jack an ancestor of William? Yes, Jack is an ancestor of William. > is Jack a parent of William? I have no knowledge that Jack a parent of William. > William = Bill Okay, William = Bill. > is Jack an ancestor of Bill? Yes, Jack is an ancestor of Bill. > why is Jack an ancestor of Bill? Jack an ancestor of Bill because: jack = john, and john is an ancestor of charles, and charles is an ancestor of william, and william = bill >