I was investigation the similar relationship. I have 3 objects A, B, C, each with 10 properties p0, p1 .. p9, with a Truth value (strength) of 0.7. All 3 objects have all the same properties.
I then state A is similar to B <A <-> B>.
The system derives that C is similar to A <C <-> A>. (great)
However, if I change the number of properties from 10 to 11, this then fails.
Is this a limitation in ONA? Is it possible to configure around this?
Many thanks
Dwane
Sample nal script (Works)
*volume=0
<A --> [p0]>. %0.7%
<A --> [p1]>. %0.7%
<A --> [p2]>. %0.7%
<A --> [p3]>. %0.7%
<A --> [p4]>. %0.7%
<A --> [p5]>. %0.7%
<A --> [p6]>. %0.7%
<A --> [p7]>. %0.7%
<A --> [p8]>. %0.7%
<A --> [p9]>. %0.7%
<B --> [p0]>. %0.7%
<B --> [p1]>. %0.7%
<B --> [p2]>. %0.7%
<B --> [p3]>. %0.7%
<B --> [p4]>. %0.7%
<B --> [p5]>. %0.7%
<B --> [p6]>. %0.7%
<B --> [p7]>. %0.7%
<B --> [p8]>. %0.7%
<B --> [p9]>. %0.7%
<C --> [p0]>. %0.7%
<C --> [p1]>. %0.7%
<C --> [p2]>. %0.7%
<C --> [p3]>. %0.7%
<C --> [p4]>. %0.7%
<C --> [p5]>. %0.7%
<C --> [p6]>. %0.7%
<C --> [p7]>. %0.7%
<C --> [p8]>. %0.7%
<C --> [p9]>. %0.7%
# Now we declare the first two items are similar.
<A <-> B>.
# Repeat the question, what is similar to each item
# What is C most similar to? (No time information) Ideal answer any of A or B
<C <-> A>?
# Assert Last Output Was:["<C <-> A>", "<C <-> B>", "<C <-> (A & B)>"]
Actual output was (which was as expected):
{'input': [{'occurrenceTime': 'eternal', 'punctuation': '?', 'term': '<C <-> A>'}], 'derivations': [], 'answers': [{'occurrenceTime': 'eternal', 'punctuation': '0', 'term': '<C <-> A>', 'truth': {'frequency': '0.979548,', 'confidence': '0.449150'}}], 'executions': [], 'reason': None, 'raw': 'Input: <C <-> A>?\nAnswer: <C <-> A>. creationTime=23 Truth: frequency=0.979548, confidence=0.449150', 'requestOutputArgs': False}
Sample nal script that fails (one extra property) :
*volume=0
<A --> [p0]>. %0.7%
<A --> [p1]>. %0.7%
<A --> [p2]>. %0.7%
<A --> [p3]>. %0.7%
<A --> [p4]>. %0.7%
<A --> [p5]>. %0.7%
<A --> [p6]>. %0.7%
<A --> [p7]>. %0.7%
<A --> [p8]>. %0.7%
<A --> [p9]>. %0.7%
<A --> [p10]>. %0.7%
<B --> [p0]>. %0.7%
<B --> [p1]>. %0.7%
<B --> [p2]>. %0.7%
<B --> [p3]>. %0.7%
<B --> [p4]>. %0.7%
<B --> [p5]>. %0.7%
<B --> [p6]>. %0.7%
<B --> [p7]>. %0.7%
<B --> [p8]>. %0.7%
<B --> [p9]>. %0.7%
<B --> [p10]>. %0.7%
<C --> [p0]>. %0.7%
<C --> [p1]>. %0.7%
<C --> [p2]>. %0.7%
<C --> [p3]>. %0.7%
<C --> [p4]>. %0.7%
<C --> [p5]>. %0.7%
<C --> [p6]>. %0.7%
<C --> [p7]>. %0.7%
<C --> [p8]>. %0.7%
<C --> [p9]>. %0.7%
<C --> [p10]>. %0.7%
# Now we declare the first two items are similar.
<A <-> B>.
# Repeat the question, what is similar to each item
# What is C most similar to? (No time information) Ideal answer any of A or B
<C <-> A>?
# Assert Last Output Was:["<C <-> A>""]
Actual output was:
{'input': [{'occurrenceTime': 'eternal', 'punctuation': '?', 'term': '<C <-> A>'}], 'derivations': [], 'answers': [{'occurrenceTime': 'eternal', 'punctuation': '.', 'term': 'None'}], 'executions': [], 'reason': None, 'raw': 'Input: <C <-> A>?\nAnswer: None.', 'requestOutputArgs': False}