ekms 7.12.7-beta.0 → 7.12.8-beta.0

Sign up to get free protection for your applications and to get access to all the features.
package/common/math.js CHANGED
@@ -3,8 +3,11 @@ const { defaultContextCheck } = require('./helpers')
3
3
  const dialogues = require('./dialogues')
4
4
  const numbers = require('./numbers')
5
5
  const punctuation = require('./punctuation')
6
- const mathTemplate = require('./mathTemplate')
7
- const math_tests = require('./math.test.json')
6
+ const countable = require('./countable')
7
+ const comparable = require('./comparable')
8
+ const tests = require('./math.test.json')
9
+ const instance = require('./math.instance.json')
10
+
8
11
 
9
12
  // TODO 10 dollars times 20
10
13
  /*
@@ -102,9 +105,17 @@ let configStruct = {
102
105
  ],
103
106
  };
104
107
 
108
+ const template = {
109
+ queries: [
110
+ "mathematical modifies operator",
111
+ "* + / and - are mathematical operators",
112
+ configStruct,
113
+ ]
114
+ }
115
+
105
116
  const createConfig = () => {
106
- const config = new Config(configStruct, module)
107
- config.add(numbers(), dialogues(), punctuation(), mathTemplate());
117
+ const config = new Config({ name: 'math' }, module)
118
+ config.add(numbers(), dialogues(), punctuation(), countable(), comparable())
108
119
  return config
109
120
  }
110
121
 
@@ -112,9 +123,10 @@ knowledgeModule( {
112
123
  module,
113
124
  createConfig,
114
125
  description: 'talking about math',
126
+ template: { template, instance },
115
127
  test: {
116
128
  name: './math.test.json',
117
- contents: math_tests,
129
+ contents: tests,
118
130
  checks: {
119
131
  context: defaultContextCheck,
120
132
  },
@@ -639,32 +639,6 @@
639
639
  0
640
640
  ]
641
641
  ],
642
- [
643
- [
644
- "between",
645
- 0
646
- ],
647
- [
648
- "is",
649
- 0
650
- ],
651
- [
652
- "list",
653
- 0
654
- ],
655
- [
656
- "unknown",
657
- 0
658
- ],
659
- [
660
- "unknown",
661
- 1
662
- ],
663
- [
664
- "xfx",
665
- 0
666
- ]
667
- ],
668
642
  [
669
643
  [
670
644
  "between",
@@ -2130,32 +2104,6 @@
2130
2104
  0
2131
2105
  ]
2132
2106
  ],
2133
- [
2134
- [
2135
- "between",
2136
- 0
2137
- ],
2138
- [
2139
- "is",
2140
- 0
2141
- ],
2142
- [
2143
- "list",
2144
- 0
2145
- ],
2146
- [
2147
- "unknown",
2148
- 0
2149
- ],
2150
- [
2151
- "unknown",
2152
- 1
2153
- ],
2154
- [
2155
- "xfx",
2156
- 0
2157
- ]
2158
- ],
2159
2107
  [
2160
2108
  [
2161
2109
  "between",
@@ -24514,7 +24514,6 @@
24514
24514
  "help": "help2",
24515
24515
  "hierarchy": "hierarchy2",
24516
24516
  "math": "math2",
24517
- "mathTemplate": "mathTemplate2",
24518
24517
  "meta": "meta2",
24519
24518
  "numbers": "numbers2",
24520
24519
  "pipboy": "pipboy1",
@@ -24550,8 +24549,6 @@
24550
24549
  },
24551
24550
  "math2": {
24552
24551
  },
24553
- "mathTemplate2": {
24554
- },
24555
24552
  "meta2": {
24556
24553
  },
24557
24554
  "numbers2": {
@@ -24646,7 +24643,8 @@
24646
24643
  "whose"
24647
24644
  ],
24648
24645
  "preposition": [
24649
- "between"
24646
+ "between",
24647
+ "to"
24650
24648
  ],
24651
24649
  "pronoun": [
24652
24650
  "it",
@@ -24743,13 +24741,14 @@
24743
24741
  "whatAble",
24744
24742
  "is",
24745
24743
  "toAble",
24744
+ "to",
24746
24745
  "noun",
24747
24746
  "thisitthat",
24748
24747
  "reason",
24749
24748
  "that",
24749
+ "number",
24750
24750
  "orAble",
24751
24751
  "ifAble",
24752
- "number",
24753
24752
  "*",
24754
24753
  "mathematical_operator",
24755
24754
  "+",
@@ -24966,6 +24965,9 @@
24966
24965
  "thisitthat": [
24967
24966
  "queryable"
24968
24967
  ],
24968
+ "to": [
24969
+ "preposition"
24970
+ ],
24969
24971
  "unknown": [
24970
24972
  "hierarchyAble",
24971
24973
  "object",
@@ -25136,6 +25138,8 @@
25136
25138
  },
25137
25139
  "thisitthat": {
25138
25140
  },
25141
+ "to": {
25142
+ },
25139
25143
  "toAble": {
25140
25144
  },
25141
25145
  "unknown": {
@@ -25234,8 +25238,8 @@
25234
25238
  "word": "apply"
25235
25239
  },
25236
25240
  "generatedParenthesized": "",
25237
- "paraphrases": "apply four stimpacks",
25238
- "paraphrasesParenthesized": "(apply ((four) (stimpacks)))",
25241
+ "paraphrases": "apply 4 stimpacks",
25242
+ "paraphrasesParenthesized": "(apply ((4) (stimpacks)))",
25239
25243
  "responses": [
25240
25244
  ""
25241
25245
  ]
@@ -25758,10 +25762,10 @@
25758
25762
  ]
25759
25763
  },
25760
25764
  "paraphrases": [
25761
- "apply four stimpacks"
25765
+ "apply 4 stimpacks"
25762
25766
  ],
25763
25767
  "paraphrasesParenthesized": [
25764
- "(apply ((four) (stimpacks)))"
25768
+ "(apply ((4) (stimpacks)))"
25765
25769
  ],
25766
25770
  "query": "apply four stimpacks",
25767
25771
  "responses": [
@@ -1783,28 +1783,6 @@
1783
1783
  1
1784
1784
  ]
1785
1785
  ],
1786
- [
1787
- [
1788
- "is",
1789
- 0
1790
- ],
1791
- [
1792
- "list",
1793
- 0
1794
- ],
1795
- [
1796
- "pokemon",
1797
- 0
1798
- ],
1799
- [
1800
- "unknown",
1801
- 0
1802
- ],
1803
- [
1804
- "unknown",
1805
- 1
1806
- ]
1807
- ],
1808
1786
  [
1809
1787
  [
1810
1788
  "is",
@@ -11691,28 +11669,6 @@
11691
11669
  1
11692
11670
  ]
11693
11671
  ],
11694
- [
11695
- [
11696
- "is",
11697
- 0
11698
- ],
11699
- [
11700
- "list",
11701
- 0
11702
- ],
11703
- [
11704
- "pokemon",
11705
- 0
11706
- ],
11707
- [
11708
- "unknown",
11709
- 0
11710
- ],
11711
- [
11712
- "unknown",
11713
- 1
11714
- ]
11715
- ],
11716
11672
  [
11717
11673
  [
11718
11674
  "is",
@@ -696,9 +696,17 @@
696
696
  "whose",
697
697
  "object"
698
698
  ],
699
+ [
700
+ "x",
701
+ "number"
702
+ ],
699
703
  [
700
704
  "xfx",
701
705
  "queryable"
706
+ ],
707
+ [
708
+ "y",
709
+ "number"
702
710
  ]
703
711
  ],
704
712
  "metadata": {
@@ -1664,9 +1672,17 @@
1664
1672
  "whose",
1665
1673
  "object"
1666
1674
  ],
1675
+ [
1676
+ "x",
1677
+ "number"
1678
+ ],
1667
1679
  [
1668
1680
  "xfx",
1669
1681
  "queryable"
1682
+ ],
1683
+ [
1684
+ "y",
1685
+ "number"
1670
1686
  ]
1671
1687
  ],
1672
1688
  "metadata": {
@@ -3011,9 +3027,17 @@
3011
3027
  "whose",
3012
3028
  "object"
3013
3029
  ],
3030
+ [
3031
+ "x",
3032
+ "number"
3033
+ ],
3014
3034
  [
3015
3035
  "xfx",
3016
3036
  "queryable"
3037
+ ],
3038
+ [
3039
+ "y",
3040
+ "number"
3017
3041
  ]
3018
3042
  ],
3019
3043
  "metadata": {
@@ -4082,9 +4106,17 @@
4082
4106
  "whose",
4083
4107
  "object"
4084
4108
  ],
4109
+ [
4110
+ "x",
4111
+ "number"
4112
+ ],
4085
4113
  [
4086
4114
  "xfx",
4087
4115
  "queryable"
4116
+ ],
4117
+ [
4118
+ "y",
4119
+ "number"
4088
4120
  ]
4089
4121
  ],
4090
4122
  "metadata": {
@@ -686,9 +686,17 @@
686
686
  "whose",
687
687
  "object"
688
688
  ],
689
+ [
690
+ "x",
691
+ "number"
692
+ ],
689
693
  [
690
694
  "xfx",
691
695
  "queryable"
696
+ ],
697
+ [
698
+ "y",
699
+ "number"
692
700
  ]
693
701
  ],
694
702
  "metadata": {
@@ -792,7 +800,7 @@
792
800
  }
793
801
  ]
794
802
  },
795
- "trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 2\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, word: properties})\n\n>>>>>>>>>>>>> Counter 4\n 0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n *2. property/1 (dead) (2, 1) - \"properties\"\n {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)), number: many, range: {'start': 19, 'end': 21}, text: are, word: are})\n\n>>>>>>>>>>>>> Counter 5\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), number: many, one: Context({default: True, isList: True, listable: True, marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge)), number: many, range: {'start': 0, 'end': 32}, text: price and quantity, types: ['price'], value: [Context({dead: True, default: True, marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price}), Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 10, 'end': 17}, text: quantity, value: quantity, word: quantity})], word: and}), range: {'start': 0, 'end': 32}, text: price and quantity are properties, two: Context({dead: True, default: True, marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 6\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n dead: true\n marker: Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
803
+ "trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 2\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, word: properties})\n\n>>>>>>>>>>>>> Counter 4\n 0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n *2. property/1 (dead) (2, 1) - \"properties\"\n {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)), number: many, range: {'start': 19, 'end': 21}, text: are, word: are})\n\n>>>>>>>>>>>>> Counter 5\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), number: many, one: Context({default: True, isList: True, listable: True, marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge)), number: many, range: {'start': 0, 'end': 32}, text: price and quantity, types: ['price'], value: [Context({dead: True, default: True, marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price}), Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 10, 'end': 17}, text: quantity, value: quantity, word: quantity})], word: and}), range: {'start': 0, 'end': 32}, text: price and quantity are properties, two: Context({dead: True, default: True, marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 6\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n dead: true\n marker: Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
796
804
  "contexts": [
797
805
  {
798
806
  "number": "many",
@@ -1647,9 +1655,17 @@
1647
1655
  "whose",
1648
1656
  "object"
1649
1657
  ],
1658
+ [
1659
+ "x",
1660
+ "number"
1661
+ ],
1650
1662
  [
1651
1663
  "xfx",
1652
1664
  "queryable"
1665
+ ],
1666
+ [
1667
+ "y",
1668
+ "number"
1653
1669
  ]
1654
1670
  ],
1655
1671
  "metadata": {
@@ -696,9 +696,17 @@
696
696
  "whose",
697
697
  "object"
698
698
  ],
699
+ [
700
+ "x",
701
+ "number"
702
+ ],
699
703
  [
700
704
  "xfx",
701
705
  "queryable"
706
+ ],
707
+ [
708
+ "y",
709
+ "number"
702
710
  ]
703
711
  ],
704
712
  "metadata": {
@@ -1664,9 +1672,17 @@
1664
1672
  "whose",
1665
1673
  "object"
1666
1674
  ],
1675
+ [
1676
+ "x",
1677
+ "number"
1678
+ ],
1667
1679
  [
1668
1680
  "xfx",
1669
1681
  "queryable"
1682
+ ],
1683
+ [
1684
+ "y",
1685
+ "number"
1670
1686
  ]
1671
1687
  ],
1672
1688
  "metadata": {
@@ -2191,36 +2207,6 @@
2191
2207
  1
2192
2208
  ]
2193
2209
  ],
2194
- [
2195
- [
2196
- "is",
2197
- 0
2198
- ],
2199
- [
2200
- "list",
2201
- 0
2202
- ],
2203
- [
2204
- "propertyOf",
2205
- 0
2206
- ],
2207
- [
2208
- "temperature",
2209
- 0
2210
- ],
2211
- [
2212
- "unit",
2213
- 0
2214
- ],
2215
- [
2216
- "unknown",
2217
- 0
2218
- ],
2219
- [
2220
- "unknown",
2221
- 1
2222
- ]
2223
- ],
2224
2210
  [
2225
2211
  [
2226
2212
  "is",
@@ -3186,9 +3172,17 @@
3186
3172
  "whose",
3187
3173
  "object"
3188
3174
  ],
3175
+ [
3176
+ "x",
3177
+ "number"
3178
+ ],
3189
3179
  [
3190
3180
  "xfx",
3191
3181
  "queryable"
3182
+ ],
3183
+ [
3184
+ "y",
3185
+ "number"
3192
3186
  ]
3193
3187
  ],
3194
3188
  "metadata": {
@@ -4593,9 +4587,17 @@
4593
4587
  "whose",
4594
4588
  "object"
4595
4589
  ],
4590
+ [
4591
+ "x",
4592
+ "number"
4593
+ ],
4596
4594
  [
4597
4595
  "xfx",
4598
4596
  "queryable"
4597
+ ],
4598
+ [
4599
+ "y",
4600
+ "number"
4599
4601
  ]
4600
4602
  ],
4601
4603
  "metadata": {
@@ -5884,36 +5886,6 @@
5884
5886
  1
5885
5887
  ]
5886
5888
  ],
5887
- [
5888
- [
5889
- "is",
5890
- 0
5891
- ],
5892
- [
5893
- "list",
5894
- 0
5895
- ],
5896
- [
5897
- "propertyOf",
5898
- 0
5899
- ],
5900
- [
5901
- "temperature",
5902
- 0
5903
- ],
5904
- [
5905
- "unit",
5906
- 0
5907
- ],
5908
- [
5909
- "unknown",
5910
- 0
5911
- ],
5912
- [
5913
- "unknown",
5914
- 1
5915
- ]
5916
- ],
5917
5889
  [
5918
5890
  [
5919
5891
  "is",
@@ -604,9 +604,17 @@
604
604
  "whose",
605
605
  "object"
606
606
  ],
607
+ [
608
+ "x",
609
+ "number"
610
+ ],
607
611
  [
608
612
  "xfx",
609
613
  "queryable"
614
+ ],
615
+ [
616
+ "y",
617
+ "number"
610
618
  ]
611
619
  ],
612
620
  "metadata": {