eyeling 1.24.4 → 1.24.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/HANDBOOK.md +2 -101
  2. package/README.md +2 -2
  3. package/dist/browser/eyeling.browser.js +256 -4
  4. package/examples/annotation.n3 +3 -4
  5. package/{see/examples/n3/backward_recursion.n3 → examples/backward-recursion.n3} +0 -2
  6. package/examples/collection.n3 +1 -2
  7. package/examples/context-association.n3 +56 -30
  8. package/{see/examples/n3/dijkstra_risk_path.n3 → examples/dijkstra-risk-path.n3} +3 -18
  9. package/{see/examples/n3/eco_route_insight.n3 → examples/eco-route-insight.n3} +2 -47
  10. package/{see/examples/n3/genetic_knapsack_selection.n3 → examples/genetic-knapsack-selection.n3} +2 -24
  11. package/{see/examples → examples}/input/annotation.trig +3 -3
  12. package/{see/examples/input/backward_recursion.trig → examples/input/backward-recursion.trig} +2 -2
  13. package/{see/examples/input/builtin_coverage.trig → examples/input/builtin-coverage.trig} +2 -2
  14. package/{see/examples → examples}/input/collection.trig +3 -3
  15. package/{see/examples/input/dijkstra_risk_path.trig → examples/input/dijkstra-risk-path.trig} +4 -4
  16. package/{see/examples/input/eco_route_insight.trig → examples/input/eco-route-insight.trig} +4 -4
  17. package/{see/examples/input/genetic_knapsack_selection.trig → examples/input/genetic-knapsack-selection.trig} +4 -4
  18. package/{see/examples/input/rc_discharge_envelope.trig → examples/input/rc-discharge-envelope.trig} +4 -4
  19. package/{see/examples/input/rdf_dataset.trig → examples/input/rdf-dataset.trig} +4 -4
  20. package/{see/examples/input/rdf_message_flow.trig → examples/input/rdf-message-flow.trig} +3 -3
  21. package/{see/examples/input/rdf_messages.trig → examples/input/rdf-messages.trig} +4 -4
  22. package/{see/examples/input/school_placement_audit.trig → examples/input/school-placement-audit.trig} +4 -4
  23. package/{see/examples/input/smoke_arithmetic.trig → examples/input/smoke-arithmetic.trig} +3 -3
  24. package/{see/examples/input/triple_terms.trig → examples/input/triple-terms.trig} +3 -3
  25. package/examples/output/backward-recursion.n3 +4 -0
  26. package/examples/output/context-association.n3 +9 -0
  27. package/examples/output/dijkstra-risk-path.n3 +3 -0
  28. package/examples/output/eco-route-insight.n3 +3 -0
  29. package/examples/output/genetic-knapsack-selection.n3 +3 -0
  30. package/examples/output/rc-discharge-envelope.n3 +9 -0
  31. package/examples/output/rc-discharge-envelope.txt +9 -0
  32. package/examples/output/rdf-dataset.n3 +5 -0
  33. package/examples/output/rdf-message-flow.n3 +7 -0
  34. package/examples/output/rdf-messages.n3 +7 -0
  35. package/examples/output/school-placement-audit.n3 +3 -0
  36. package/examples/output/smoke-arithmetic.n3 +5 -0
  37. package/examples/output/smoke-arithmetic.txt +5 -0
  38. package/examples/output/triple-terms.n3 +5 -0
  39. package/{see/examples/n3/rc_discharge_envelope.n3 → examples/rc-discharge-envelope.n3} +2 -15
  40. package/{see/examples/n3/rdf_dataset.n3 → examples/rdf-dataset.n3} +2 -11
  41. package/{see/examples/n3/rdf_message_flow.n3 → examples/rdf-message-flow.n3} +9 -75
  42. package/{see/examples/n3/rdf_messages.n3 → examples/rdf-messages.n3} +6 -43
  43. package/{see/examples/n3/school_placement_audit.n3 → examples/school-placement-audit.n3} +2 -14
  44. package/{see/examples/n3/smoke_arithmetic.n3 → examples/smoke-arithmetic.n3} +3 -5
  45. package/{see/examples/n3/triple_terms.n3 → examples/triple-terms.n3} +1 -4
  46. package/eyeling.js +256 -4
  47. package/lib/builtins.js +6 -0
  48. package/lib/lexer.js +250 -4
  49. package/package.json +4 -7
  50. package/test/api.test.js +65 -8
  51. package/test/examples.test.js +22 -2
  52. package/test/package.test.js +16 -2
  53. package/examples/arcling/README.md +0 -11
  54. package/examples/input/annotation.ttl +0 -6
  55. package/examples/input/collection.ttl +0 -13
  56. package/examples/input/reifies.ttl +0 -10
  57. package/examples/input/triple-term.ttl +0 -8
  58. package/examples/output/triple-term.n3 +0 -0
  59. package/examples/reifies.n3 +0 -8
  60. package/examples/triple-term.n3 +0 -7
  61. package/see/README.md +0 -149
  62. package/see/examples/_see.js +0 -249
  63. package/see/examples/age.js +0 -1459
  64. package/see/examples/annotation.js +0 -1320
  65. package/see/examples/backward.js +0 -1405
  66. package/see/examples/backward_recursion.js +0 -1504
  67. package/see/examples/bayes_diagnosis.js +0 -2883
  68. package/see/examples/bayes_therapy.js +0 -4152
  69. package/see/examples/bmi.js +0 -3038
  70. package/see/examples/builtin_coverage.js +0 -2524
  71. package/see/examples/collection.js +0 -1320
  72. package/see/examples/complex.js +0 -3762
  73. package/see/examples/complex_matrix_stability.js +0 -2973
  74. package/see/examples/composition_of_injective_functions_is_injective.js +0 -2170
  75. package/see/examples/control_system.js +0 -1918
  76. package/see/examples/crypto_builtins_tests.js +0 -1489
  77. package/see/examples/delfour.js +0 -3174
  78. package/see/examples/digital_product_passport.js +0 -2856
  79. package/see/examples/dijkstra.js +0 -2070
  80. package/see/examples/dijkstra_risk_path.js +0 -1874
  81. package/see/examples/doc/age.md +0 -27
  82. package/see/examples/doc/annotation.md +0 -24
  83. package/see/examples/doc/backward.md +0 -26
  84. package/see/examples/doc/backward_recursion.md +0 -26
  85. package/see/examples/doc/bayes_diagnosis.md +0 -41
  86. package/see/examples/doc/bayes_therapy.md +0 -40
  87. package/see/examples/doc/bmi.md +0 -38
  88. package/see/examples/doc/builtin_coverage.md +0 -53
  89. package/see/examples/doc/collection.md +0 -24
  90. package/see/examples/doc/complex.md +0 -38
  91. package/see/examples/doc/complex_matrix_stability.md +0 -35
  92. package/see/examples/doc/composition_of_injective_functions_is_injective.md +0 -24
  93. package/see/examples/doc/control_system.md +0 -32
  94. package/see/examples/doc/crypto_builtins_tests.md +0 -27
  95. package/see/examples/doc/delfour.md +0 -37
  96. package/see/examples/doc/digital_product_passport.md +0 -36
  97. package/see/examples/doc/dijkstra.md +0 -28
  98. package/see/examples/doc/dijkstra_risk_path.md +0 -30
  99. package/see/examples/doc/dog.md +0 -28
  100. package/see/examples/doc/eco_route_insight.md +0 -33
  101. package/see/examples/doc/equals.md +0 -26
  102. package/see/examples/doc/equivalence_classes_overlap_implies_same_class.md +0 -24
  103. package/see/examples/doc/euler_identity.md +0 -39
  104. package/see/examples/doc/ev_roundtrip_planner.md +0 -32
  105. package/see/examples/doc/existential_rule.md +0 -24
  106. package/see/examples/doc/expression_eval.md +0 -26
  107. package/see/examples/doc/family_cousins.md +0 -24
  108. package/see/examples/doc/fastpow.md +0 -29
  109. package/see/examples/doc/fibonacci.md +0 -28
  110. package/see/examples/doc/french_cities.md +0 -28
  111. package/see/examples/doc/fundamental_theorem_arithmetic.md +0 -36
  112. package/see/examples/doc/genetic_knapsack_selection.md +0 -29
  113. package/see/examples/doc/goldbach_1000.md +0 -31
  114. package/see/examples/doc/good_cobbler.md +0 -27
  115. package/see/examples/doc/gps.md +0 -35
  116. package/see/examples/doc/gray_code_counter.md +0 -31
  117. package/see/examples/doc/greatest_lower_bound_uniqueness.md +0 -24
  118. package/see/examples/doc/group_inverse_uniqueness.md +0 -24
  119. package/see/examples/doc/hadamard_approx.md +0 -32
  120. package/see/examples/doc/hanoi.md +0 -26
  121. package/see/examples/doc/odrl_dpv_risk_ranked.md +0 -57
  122. package/see/examples/doc/path_discovery.md +0 -33
  123. package/see/examples/doc/rc_discharge_envelope.md +0 -33
  124. package/see/examples/doc/rdf_dataset.md +0 -26
  125. package/see/examples/doc/rdf_message_flow.md +0 -35
  126. package/see/examples/doc/rdf_messages.md +0 -37
  127. package/see/examples/doc/school_placement_audit.md +0 -31
  128. package/see/examples/doc/smoke_arithmetic.md +0 -31
  129. package/see/examples/doc/socrates.md +0 -24
  130. package/see/examples/doc/triple_terms.md +0 -26
  131. package/see/examples/doc/wind_turbine.md +0 -37
  132. package/see/examples/doc/witch.md +0 -28
  133. package/see/examples/dog.js +0 -1436
  134. package/see/examples/eco_route_insight.js +0 -2110
  135. package/see/examples/equals.js +0 -1363
  136. package/see/examples/equivalence_classes_overlap_implies_same_class.js +0 -1792
  137. package/see/examples/euler_identity.js +0 -2038
  138. package/see/examples/ev_roundtrip_planner.js +0 -2562
  139. package/see/examples/existential_rule.js +0 -1363
  140. package/see/examples/expression_eval.js +0 -1798
  141. package/see/examples/family_cousins.js +0 -1586
  142. package/see/examples/fastpow.js +0 -2207
  143. package/see/examples/fibonacci.js +0 -1594
  144. package/see/examples/french_cities.js +0 -1492
  145. package/see/examples/fundamental_theorem_arithmetic.js +0 -2106
  146. package/see/examples/genetic_knapsack_selection.js +0 -1743
  147. package/see/examples/goldbach_1000.js +0 -1798
  148. package/see/examples/good_cobbler.js +0 -1396
  149. package/see/examples/gps.js +0 -2813
  150. package/see/examples/gray_code_counter.js +0 -1641
  151. package/see/examples/greatest_lower_bound_uniqueness.js +0 -1918
  152. package/see/examples/group_inverse_uniqueness.js +0 -1897
  153. package/see/examples/hadamard_approx.js +0 -4417
  154. package/see/examples/hanoi.js +0 -1625
  155. package/see/examples/input/age.trig +0 -27
  156. package/see/examples/input/backward.trig +0 -25
  157. package/see/examples/input/bayes_diagnosis.trig +0 -111
  158. package/see/examples/input/bayes_therapy.trig +0 -130
  159. package/see/examples/input/bmi.trig +0 -28
  160. package/see/examples/input/complex.trig +0 -26
  161. package/see/examples/input/complex_matrix_stability.trig +0 -65
  162. package/see/examples/input/composition_of_injective_functions_is_injective.trig +0 -35
  163. package/see/examples/input/control_system.trig +0 -31
  164. package/see/examples/input/crypto_builtins_tests.trig +0 -25
  165. package/see/examples/input/delfour.trig +0 -90
  166. package/see/examples/input/digital_product_passport.trig +0 -116
  167. package/see/examples/input/dijkstra.trig +0 -34
  168. package/see/examples/input/dog.trig +0 -31
  169. package/see/examples/input/equals.trig +0 -25
  170. package/see/examples/input/equivalence_classes_overlap_implies_same_class.trig +0 -28
  171. package/see/examples/input/euler_identity.trig +0 -34
  172. package/see/examples/input/ev_roundtrip_planner.trig +0 -90
  173. package/see/examples/input/existential_rule.trig +0 -26
  174. package/see/examples/input/expression_eval.trig +0 -41
  175. package/see/examples/input/family_cousins.trig +0 -39
  176. package/see/examples/input/fastpow.trig +0 -25
  177. package/see/examples/input/fibonacci.trig +0 -51
  178. package/see/examples/input/french_cities.trig +0 -38
  179. package/see/examples/input/fundamental_theorem_arithmetic.trig +0 -42
  180. package/see/examples/input/goldbach_1000.trig +0 -53
  181. package/see/examples/input/good_cobbler.trig +0 -24
  182. package/see/examples/input/gps.trig +0 -35
  183. package/see/examples/input/gray_code_counter.trig +0 -33
  184. package/see/examples/input/greatest_lower_bound_uniqueness.trig +0 -29
  185. package/see/examples/input/group_inverse_uniqueness.trig +0 -29
  186. package/see/examples/input/hadamard_approx.trig +0 -32
  187. package/see/examples/input/hanoi.trig +0 -26
  188. package/see/examples/input/odrl_dpv_risk_ranked.trig +0 -107
  189. package/see/examples/input/path-discovery.trig +0 -96448
  190. package/see/examples/input/path_discovery.trig +0 -29
  191. package/see/examples/input/socrates.trig +0 -26
  192. package/see/examples/input/wind_turbine.trig +0 -48
  193. package/see/examples/input/witch.trig +0 -26
  194. package/see/examples/n3/age.n3 +0 -28
  195. package/see/examples/n3/annotation.n3 +0 -7
  196. package/see/examples/n3/backward.n3 +0 -22
  197. package/see/examples/n3/bayes_diagnosis.n3 +0 -122
  198. package/see/examples/n3/bayes_therapy.n3 +0 -149
  199. package/see/examples/n3/bmi.n3 +0 -145
  200. package/see/examples/n3/collection.n3 +0 -3
  201. package/see/examples/n3/complex.n3 +0 -140
  202. package/see/examples/n3/complex_matrix_stability.n3 +0 -113
  203. package/see/examples/n3/composition_of_injective_functions_is_injective.n3 +0 -27
  204. package/see/examples/n3/control_system.n3 +0 -59
  205. package/see/examples/n3/crypto_builtins_tests.n3 +0 -18
  206. package/see/examples/n3/delfour.n3 +0 -167
  207. package/see/examples/n3/digital_product_passport.n3 +0 -156
  208. package/see/examples/n3/dijkstra.n3 +0 -46
  209. package/see/examples/n3/dog.n3 +0 -20
  210. package/see/examples/n3/equals.n3 +0 -11
  211. package/see/examples/n3/equivalence_classes_overlap_implies_same_class.n3 +0 -19
  212. package/see/examples/n3/euler_identity.n3 +0 -41
  213. package/see/examples/n3/ev_roundtrip_planner.n3 +0 -82
  214. package/see/examples/n3/existential_rule.n3 +0 -10
  215. package/see/examples/n3/expression_eval.n3 +0 -21
  216. package/see/examples/n3/family_cousins.n3 +0 -62
  217. package/see/examples/n3/fastpow.n3 +0 -56
  218. package/see/examples/n3/fibonacci.n3 +0 -44
  219. package/see/examples/n3/french_cities.n3 +0 -28
  220. package/see/examples/n3/fundamental_theorem_arithmetic.n3 +0 -84
  221. package/see/examples/n3/goldbach_1000.n3 +0 -66
  222. package/see/examples/n3/good_cobbler.n3 +0 -10
  223. package/see/examples/n3/gps.n3 +0 -70
  224. package/see/examples/n3/gray_code_counter.n3 +0 -53
  225. package/see/examples/n3/greatest_lower_bound_uniqueness.n3 +0 -20
  226. package/see/examples/n3/group_inverse_uniqueness.n3 +0 -19
  227. package/see/examples/n3/hadamard_approx.n3 +0 -43
  228. package/see/examples/n3/hanoi.n3 +0 -16
  229. package/see/examples/n3/odrl_dpv_risk_ranked.n3 +0 -460
  230. package/see/examples/n3/path_discovery.n3 +0 -43
  231. package/see/examples/n3/socrates.n3 +0 -21
  232. package/see/examples/n3/wind_turbine.n3 +0 -85
  233. package/see/examples/n3/witch.n3 +0 -30
  234. package/see/examples/odrl_dpv_risk_ranked.js +0 -5128
  235. package/see/examples/output/age.md +0 -48
  236. package/see/examples/output/annotation.md +0 -43
  237. package/see/examples/output/backward.md +0 -50
  238. package/see/examples/output/backward_recursion.md +0 -54
  239. package/see/examples/output/bayes_diagnosis.md +0 -103
  240. package/see/examples/output/bayes_therapy.md +0 -84
  241. package/see/examples/output/bmi.md +0 -164
  242. package/see/examples/output/builtin_coverage.md +0 -99
  243. package/see/examples/output/collection.md +0 -44
  244. package/see/examples/output/complex.md +0 -61
  245. package/see/examples/output/complex_matrix_stability.md +0 -55
  246. package/see/examples/output/composition_of_injective_functions_is_injective.md +0 -62
  247. package/see/examples/output/control_system.md +0 -61
  248. package/see/examples/output/crypto_builtins_tests.md +0 -68
  249. package/see/examples/output/delfour.md +0 -100
  250. package/see/examples/output/digital_product_passport.md +0 -100
  251. package/see/examples/output/dijkstra.md +0 -74
  252. package/see/examples/output/dijkstra_risk_path.md +0 -76
  253. package/see/examples/output/dog.md +0 -50
  254. package/see/examples/output/eco_route_insight.md +0 -88
  255. package/see/examples/output/equals.md +0 -50
  256. package/see/examples/output/equivalence_classes_overlap_implies_same_class.md +0 -86
  257. package/see/examples/output/euler_identity.md +0 -73
  258. package/see/examples/output/ev_roundtrip_planner.md +0 -79
  259. package/see/examples/output/existential_rule.md +0 -54
  260. package/see/examples/output/expression_eval.md +0 -50
  261. package/see/examples/output/family_cousins.md +0 -187
  262. package/see/examples/output/fastpow.md +0 -36
  263. package/see/examples/output/fibonacci.md +0 -53
  264. package/see/examples/output/french_cities.md +0 -70
  265. package/see/examples/output/fundamental_theorem_arithmetic.md +0 -101
  266. package/see/examples/output/genetic_knapsack_selection.md +0 -66
  267. package/see/examples/output/goldbach_1000.md +0 -58
  268. package/see/examples/output/good_cobbler.md +0 -54
  269. package/see/examples/output/gps.md +0 -102
  270. package/see/examples/output/gray_code_counter.md +0 -68
  271. package/see/examples/output/greatest_lower_bound_uniqueness.md +0 -60
  272. package/see/examples/output/group_inverse_uniqueness.md +0 -60
  273. package/see/examples/output/hadamard_approx.md +0 -510
  274. package/see/examples/output/hanoi.md +0 -51
  275. package/see/examples/output/odrl_dpv_risk_ranked.md +0 -139
  276. package/see/examples/output/path_discovery.md +0 -65
  277. package/see/examples/output/rc_discharge_envelope.md +0 -102
  278. package/see/examples/output/rdf_dataset.md +0 -54
  279. package/see/examples/output/rdf_message_flow.md +0 -198
  280. package/see/examples/output/rdf_messages.md +0 -134
  281. package/see/examples/output/school_placement_audit.md +0 -99
  282. package/see/examples/output/smoke_arithmetic.md +0 -54
  283. package/see/examples/output/socrates.md +0 -55
  284. package/see/examples/output/triple_terms.md +0 -53
  285. package/see/examples/output/wind_turbine.md +0 -108
  286. package/see/examples/output/witch.md +0 -87
  287. package/see/examples/path_discovery.js +0 -1774
  288. package/see/examples/rc_discharge_envelope.js +0 -1993
  289. package/see/examples/rdf_dataset.js +0 -1512
  290. package/see/examples/rdf_message_flow.js +0 -2580
  291. package/see/examples/rdf_messages.js +0 -2176
  292. package/see/examples/school_placement_audit.js +0 -1867
  293. package/see/examples/smoke_arithmetic.js +0 -1483
  294. package/see/examples/socrates.js +0 -1420
  295. package/see/examples/triple_terms.js +0 -1442
  296. package/see/examples/wind_turbine.js +0 -2853
  297. package/see/examples/witch.js +0 -1519
  298. package/see/see.js +0 -2179
  299. package/test/see.test.js +0 -159
  300. /package/{see/examples/n3/builtin_coverage.n3 → examples/builtin-coverage.n3} +0 -0
  301. /package/examples/output/{reifies.n3 → builtin-coverage.n3} +0 -0
@@ -1,43 +0,0 @@
1
- # ==============
2
- # Path Discovery
3
- # ==============
4
- # SEE version of the Eyeling airport path-discovery example.
5
- #
6
- # The full airroutes evidence is intentionally stored in
7
- # examples/input/path-discovery.trig, not in this source file. This file keeps
8
- # only the path-finding rules and the query shape from the upstream example.
9
-
10
- @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
11
- @prefix nepo: <http://neptune.aws.com/ontology/airroutes/>.
12
- @prefix res: <http://neptune.aws.com/ontology/airroutes/resource#>.
13
- @prefix math: <http://www.w3.org/2000/10/swap/math#>.
14
- @prefix list: <http://www.w3.org/2000/10/swap/list#>.
15
- @prefix log: <http://www.w3.org/2000/10/swap/log#>.
16
- @prefix : <http://example.org/#>.
17
-
18
- # connectivity
19
- {(?from ?to ?visited ?length ?max) :route (?from ?to)} <= {
20
- ?length math:notGreaterThan ?max.
21
- ?from nepo:hasOutboundRouteTo ?to.
22
- ?visited list:notMember ?to.
23
- }.
24
-
25
- {(?from ?to ?visited ?length ?max) :route ?route} <= {
26
- ?length math:notGreaterThan ?max.
27
- ?from nepo:hasOutboundRouteTo ?via.
28
- ?visited list:notMember ?via.
29
- ?newVisited list:firstRest (?from ?visited).
30
- (?length 1) math:sum ?newLength.
31
- (?via ?to ?newVisited ?newLength ?max) :route ?newRoute.
32
- ?route list:firstRest (?from ?newRoute).
33
- }.
34
-
35
- # find routes from Ostend-Bruges International Airport to Václav Havel Airport Prague with at most 2 stopovers
36
- {
37
- ?source rdfs:label "Ostend-Bruges International Airport".
38
- ?destination rdfs:label "Václav Havel Airport Prague".
39
- (?source ?destination () 0 2) :route ?airports.
40
- (?city {?airports list:member ?airport. ?airport rdfs:label ?city} ?route) log:collectAllIn ?scope.
41
- } => {
42
- :discovered :airroute ?route.
43
- }.
@@ -1,21 +0,0 @@
1
- # ==================
2
- # Socrates inference
3
- # ==================
4
- @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
5
- @prefix log: <http://www.w3.org/2000/10/swap/log#>.
6
- @prefix : <http://example.org/socrates#>.
7
-
8
- # facts
9
- :Socrates a :Human.
10
- :Human rdfs:subClassOf :Mortal.
11
-
12
- # subclass rule
13
- {
14
- ?S a ?A.
15
- ?A rdfs:subClassOf ?B.
16
- } => {
17
- ?S a ?B.
18
- }.
19
-
20
- # query
21
- { ?S a ?C } log:query { ?S a ?C }.
@@ -1,85 +0,0 @@
1
- # =====================
2
- # Wind Turbine Envelope
3
- # =====================
4
- # Classify wind-speed samples against a turbine operating envelope and compute
5
- # interval energy. The classification and cubic power curve are expressed in N3
6
- # rules and compiled into a standalone SEE JavaScript example.
7
-
8
- @prefix : <https://eyereasoner.github.io/see/examples/wind-turbine#>.
9
- @prefix math: <http://www.w3.org/2000/10/swap/math#>.
10
- @prefix log: <http://www.w3.org/2000/10/swap/log#>.
11
- @prefix string: <http://www.w3.org/2000/10/swap/string#>.
12
-
13
- :case
14
- :cutInMS 3.5;
15
- :ratedMS 12.0;
16
- :cutOutMS 25.0;
17
- :ratedPowerMW 3.2;
18
- :intervalMinutes 10.0;
19
- :sample :t1, :t2, :t3, :t4, :t5, :t6.
20
-
21
- :t1 :index 1; :speedMS 3.0.
22
- :t2 :index 2; :speedMS 6.5.
23
- :t3 :index 3; :speedMS 11.2.
24
- :t4 :index 4; :speedMS 15.0.
25
- :t5 :index 5; :speedMS 24.5.
26
- :t6 :index 6; :speedMS 27.0.
27
-
28
- {
29
- :case :cutInMS ?CutIn.
30
- ?Sample :speedMS ?Speed.
31
- ?Speed math:lessThan ?CutIn.
32
- } => { ?Sample :status "stopped"; :powerMW 0.0. }.
33
-
34
- {
35
- :case :cutOutMS ?CutOut.
36
- ?Sample :speedMS ?Speed.
37
- ?Speed math:notLessThan ?CutOut.
38
- } => { ?Sample :status "stopped"; :powerMW 0.0. }.
39
-
40
- {
41
- :case :cutInMS ?CutIn; :ratedMS ?Rated; :ratedPowerMW ?RatedPower.
42
- ?Sample :speedMS ?Speed.
43
- ?Speed math:notLessThan ?CutIn.
44
- ?Speed math:lessThan ?Rated.
45
- (?Speed 3) math:exponentiation ?Speed3.
46
- (?CutIn 3) math:exponentiation ?CutIn3.
47
- (?Rated 3) math:exponentiation ?Rated3.
48
- (?Speed3 ?CutIn3) math:difference ?Numerator.
49
- (?Rated3 ?CutIn3) math:difference ?Denominator.
50
- (?Numerator ?Denominator) math:quotient ?Fraction.
51
- (?RatedPower ?Fraction) math:product ?Power.
52
- } => { ?Sample :status "partial"; :powerMW ?Power. }.
53
-
54
- {
55
- :case :ratedMS ?Rated; :cutOutMS ?CutOut; :ratedPowerMW ?RatedPower.
56
- ?Sample :speedMS ?Speed.
57
- ?Speed math:notLessThan ?Rated.
58
- ?Speed math:lessThan ?CutOut.
59
- } => { ?Sample :status "rated"; :powerMW ?RatedPower. }.
60
-
61
- {
62
- :case :sample ?Sample.
63
- ?Sample :status ?Status; :powerMW ?Power.
64
- ?Power math:notLessThan 0.
65
- } => { ?Sample :nonNegativePower true. }.
66
-
67
- {
68
- :case :ratedPowerMW ?RatedPower; :sample ?Sample.
69
- ?Sample :powerMW ?Power.
70
- ?Power math:notGreaterThan ?RatedPower.
71
- } => { ?Sample :withinRatedPower true. }.
72
-
73
- {
74
- :t1 :speedMS ?S1; :status ?C1; :powerMW ?P1; :nonNegativePower true; :withinRatedPower true.
75
- :t2 :speedMS ?S2; :status ?C2; :powerMW ?P2; :nonNegativePower true; :withinRatedPower true.
76
- :t3 :speedMS ?S3; :status ?C3; :powerMW ?P3; :nonNegativePower true; :withinRatedPower true.
77
- :t4 :speedMS ?S4; :status ?C4; :powerMW ?P4; :nonNegativePower true; :withinRatedPower true.
78
- :t5 :speedMS ?S5; :status ?C5; :powerMW ?P5; :nonNegativePower true; :withinRatedPower true.
79
- :t6 :speedMS ?S6; :status ?C6; :powerMW ?P6; :nonNegativePower true; :withinRatedPower true.
80
- :case :cutInMS ?CutIn; :ratedMS ?Rated; :cutOutMS ?CutOut; :ratedPowerMW ?RatedPower; :intervalMinutes ?Minutes.
81
- (?P1 ?P2 ?P3 ?P4 ?P5 ?P6) math:sum ?TotalPower.
82
- (?Minutes 60.0) math:quotient ?Hours.
83
- (?TotalPower ?Hours) math:product ?Energy.
84
- ("=== Answer ===\noperating thresholds : cut-in %.1f m/s, rated %.1f m/s, cut-out %.1f m/s\nrated power : %.1f MW\ninterval classifications : t1 %.1f m/s %s %.3f MW; t2 %.1f m/s %s %.3f MW; t3 %.1f m/s %s %.3f MW; t4 %.1f m/s %s %.3f MW; t5 %.1f m/s %s %.3f MW; t6 %.1f m/s %s %.3f MW\nusable intervals : 4\ntotal energy : %.3f MWh\n\n=== Explanation ===\nWind below cut-in and at or above cut-out is stopped for production and safety. Wind between cut-in and rated speed follows a cubic power curve normalized to the rated point. Wind between rated speed and cut-out is capped at rated power. Energy is accumulated by multiplying each interval power by the ten-minute interval duration." ?CutIn ?Rated ?CutOut ?RatedPower ?S1 ?C1 ?P1 ?S2 ?C2 ?P2 ?S3 ?C3 ?P3 ?S4 ?C4 ?P4 ?S5 ?C5 ?P5 ?S6 ?C6 ?P6 ?Energy) string:format ?Block.
85
- } => { :report log:outputString ?Block. }.
@@ -1,30 +0,0 @@
1
- # ==============
2
- # Burn the witch
3
- # ==============
4
- #
5
- # http://clarkparsia.com/weblog/2007/01/02/burn-the-witch/
6
- # http://www.netfunny.com/rhf/jokes/90q4/burnher.html
7
- # original http://www.w3.org/2000/10/swap/test/reason/witch.n3
8
- @prefix : <http://example.org/witch#>.
9
-
10
- #[1] BURNS(x) /\ WOMAN(x) => WITCH(x)
11
- { ?x a :BURNS. ?x a :WOMAN } => { ?x a :WITCH }.
12
-
13
- #[2] WOMAN(GIRL)
14
- :GIRL a :WOMAN.
15
-
16
- #[3] forall x, ISMADEOFWOOD(x) => BURNS(x)
17
- { ?x a :ISMADEOFWOOD } => { ?x a :BURNS }.
18
-
19
- #[4] forall x, FLOATS(x) => ISMADEOFWOOD(x)
20
- { ?x a :FLOATS } => { ?x a :ISMADEOFWOOD }.
21
-
22
- #[5] FLOATS(DUCK)
23
- :DUCK a :FLOATS.
24
-
25
- #[6] forall x,y FLOATS(x) /\ SAMEWEIGHT(x,y) => FLOATS(y)
26
- { ?x a :FLOATS. ?x :SAMEWEIGHT ?y } => { ?y a :FLOATS }.
27
-
28
- # and, by experiment
29
- # [7] SAMEWEIGHT(DUCK,GIRL)
30
- :DUCK :SAMEWEIGHT :GIRL.