eyeling 1.24.5 → 1.24.7

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 (294) hide show
  1. package/HANDBOOK.md +0 -99
  2. package/README.md +2 -2
  3. package/dist/browser/eyeling.browser.js +6 -0
  4. package/{see/examples/n3 → examples}/annotation.n3 +1 -1
  5. package/{see/examples/n3/backward_recursion.n3 → examples/backward-recursion.n3} +0 -2
  6. package/examples/collection.n3 +3 -0
  7. package/examples/context-association.n3 +59 -0
  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/examples/input/context-association.trig +35 -0
  16. package/{see/examples/input/dijkstra_risk_path.trig → examples/input/dijkstra-risk-path.trig} +4 -4
  17. package/{see/examples/input/eco_route_insight.trig → examples/input/eco-route-insight.trig} +4 -4
  18. package/{see/examples/input/genetic_knapsack_selection.trig → examples/input/genetic-knapsack-selection.trig} +4 -4
  19. package/{see/examples/input/rc_discharge_envelope.trig → examples/input/rc-discharge-envelope.trig} +4 -4
  20. package/{see/examples/input/rdf_dataset.trig → examples/input/rdf-dataset.trig} +4 -4
  21. package/{see/examples/input/rdf_message_flow.trig → examples/input/rdf-message-flow.trig} +3 -3
  22. package/{see/examples/input/rdf_messages.trig → examples/input/rdf-messages.trig} +4 -4
  23. package/{see/examples/input/school_placement_audit.trig → examples/input/school-placement-audit.trig} +4 -4
  24. package/{see/examples/input/smoke_arithmetic.trig → examples/input/smoke-arithmetic.trig} +3 -3
  25. package/{see/examples/input/triple_terms.trig → examples/input/triple-terms.trig} +3 -3
  26. package/examples/output/annotation.n3 +0 -0
  27. package/examples/output/backward-recursion.n3 +4 -0
  28. package/examples/output/builtin-coverage.n3 +0 -0
  29. package/examples/output/collection.n3 +0 -0
  30. package/examples/output/context-association.n3 +9 -0
  31. package/examples/output/dijkstra-risk-path.n3 +3 -0
  32. package/examples/output/eco-route-insight.n3 +3 -0
  33. package/examples/output/genetic-knapsack-selection.n3 +3 -0
  34. package/examples/output/rc-discharge-envelope.n3 +9 -0
  35. package/examples/output/rc-discharge-envelope.txt +9 -0
  36. package/examples/output/rdf-dataset.n3 +5 -0
  37. package/examples/output/rdf-message-flow.n3 +7 -0
  38. package/examples/output/rdf-messages.n3 +7 -0
  39. package/examples/output/school-placement-audit.n3 +3 -0
  40. package/examples/output/smoke-arithmetic.n3 +5 -0
  41. package/examples/output/smoke-arithmetic.txt +5 -0
  42. package/examples/output/triple-terms.n3 +5 -0
  43. package/{see/examples/n3/rc_discharge_envelope.n3 → examples/rc-discharge-envelope.n3} +2 -15
  44. package/{see/examples/n3/rdf_dataset.n3 → examples/rdf-dataset.n3} +2 -11
  45. package/{see/examples/n3/rdf_message_flow.n3 → examples/rdf-message-flow.n3} +9 -75
  46. package/{see/examples/n3/rdf_messages.n3 → examples/rdf-messages.n3} +6 -43
  47. package/{see/examples/n3/school_placement_audit.n3 → examples/school-placement-audit.n3} +2 -14
  48. package/{see/examples/n3/smoke_arithmetic.n3 → examples/smoke-arithmetic.n3} +3 -5
  49. package/{see/examples/n3/triple_terms.n3 → examples/triple-terms.n3} +1 -4
  50. package/eyeling.js +6 -0
  51. package/lib/builtins.js +6 -0
  52. package/package.json +4 -7
  53. package/test/api.test.js +25 -8
  54. package/test/examples.test.js +22 -2
  55. package/test/package.test.js +16 -2
  56. package/see/README.md +0 -149
  57. package/see/examples/_see.js +0 -249
  58. package/see/examples/age.js +0 -1459
  59. package/see/examples/annotation.js +0 -1320
  60. package/see/examples/backward.js +0 -1405
  61. package/see/examples/backward_recursion.js +0 -1504
  62. package/see/examples/bayes_diagnosis.js +0 -2883
  63. package/see/examples/bayes_therapy.js +0 -4152
  64. package/see/examples/bmi.js +0 -3038
  65. package/see/examples/builtin_coverage.js +0 -2524
  66. package/see/examples/collection.js +0 -1320
  67. package/see/examples/complex.js +0 -3762
  68. package/see/examples/complex_matrix_stability.js +0 -2973
  69. package/see/examples/composition_of_injective_functions_is_injective.js +0 -2170
  70. package/see/examples/control_system.js +0 -1918
  71. package/see/examples/crypto_builtins_tests.js +0 -1489
  72. package/see/examples/delfour.js +0 -3174
  73. package/see/examples/digital_product_passport.js +0 -2856
  74. package/see/examples/dijkstra.js +0 -2070
  75. package/see/examples/dijkstra_risk_path.js +0 -1874
  76. package/see/examples/doc/age.md +0 -27
  77. package/see/examples/doc/annotation.md +0 -24
  78. package/see/examples/doc/backward.md +0 -26
  79. package/see/examples/doc/backward_recursion.md +0 -26
  80. package/see/examples/doc/bayes_diagnosis.md +0 -41
  81. package/see/examples/doc/bayes_therapy.md +0 -40
  82. package/see/examples/doc/bmi.md +0 -38
  83. package/see/examples/doc/builtin_coverage.md +0 -53
  84. package/see/examples/doc/collection.md +0 -24
  85. package/see/examples/doc/complex.md +0 -38
  86. package/see/examples/doc/complex_matrix_stability.md +0 -35
  87. package/see/examples/doc/composition_of_injective_functions_is_injective.md +0 -24
  88. package/see/examples/doc/control_system.md +0 -32
  89. package/see/examples/doc/crypto_builtins_tests.md +0 -27
  90. package/see/examples/doc/delfour.md +0 -37
  91. package/see/examples/doc/digital_product_passport.md +0 -36
  92. package/see/examples/doc/dijkstra.md +0 -28
  93. package/see/examples/doc/dijkstra_risk_path.md +0 -30
  94. package/see/examples/doc/dog.md +0 -28
  95. package/see/examples/doc/eco_route_insight.md +0 -33
  96. package/see/examples/doc/equals.md +0 -26
  97. package/see/examples/doc/equivalence_classes_overlap_implies_same_class.md +0 -24
  98. package/see/examples/doc/euler_identity.md +0 -39
  99. package/see/examples/doc/ev_roundtrip_planner.md +0 -32
  100. package/see/examples/doc/existential_rule.md +0 -24
  101. package/see/examples/doc/expression_eval.md +0 -26
  102. package/see/examples/doc/family_cousins.md +0 -24
  103. package/see/examples/doc/fastpow.md +0 -29
  104. package/see/examples/doc/fibonacci.md +0 -28
  105. package/see/examples/doc/french_cities.md +0 -28
  106. package/see/examples/doc/fundamental_theorem_arithmetic.md +0 -36
  107. package/see/examples/doc/genetic_knapsack_selection.md +0 -29
  108. package/see/examples/doc/goldbach_1000.md +0 -31
  109. package/see/examples/doc/good_cobbler.md +0 -27
  110. package/see/examples/doc/gps.md +0 -35
  111. package/see/examples/doc/gray_code_counter.md +0 -31
  112. package/see/examples/doc/greatest_lower_bound_uniqueness.md +0 -24
  113. package/see/examples/doc/group_inverse_uniqueness.md +0 -24
  114. package/see/examples/doc/hadamard_approx.md +0 -32
  115. package/see/examples/doc/hanoi.md +0 -26
  116. package/see/examples/doc/odrl_dpv_risk_ranked.md +0 -57
  117. package/see/examples/doc/path_discovery.md +0 -33
  118. package/see/examples/doc/rc_discharge_envelope.md +0 -33
  119. package/see/examples/doc/rdf_dataset.md +0 -26
  120. package/see/examples/doc/rdf_message_flow.md +0 -35
  121. package/see/examples/doc/rdf_messages.md +0 -37
  122. package/see/examples/doc/school_placement_audit.md +0 -31
  123. package/see/examples/doc/smoke_arithmetic.md +0 -31
  124. package/see/examples/doc/socrates.md +0 -24
  125. package/see/examples/doc/triple_terms.md +0 -26
  126. package/see/examples/doc/wind_turbine.md +0 -37
  127. package/see/examples/doc/witch.md +0 -28
  128. package/see/examples/dog.js +0 -1436
  129. package/see/examples/eco_route_insight.js +0 -2110
  130. package/see/examples/equals.js +0 -1363
  131. package/see/examples/equivalence_classes_overlap_implies_same_class.js +0 -1792
  132. package/see/examples/euler_identity.js +0 -2038
  133. package/see/examples/ev_roundtrip_planner.js +0 -2562
  134. package/see/examples/existential_rule.js +0 -1363
  135. package/see/examples/expression_eval.js +0 -1798
  136. package/see/examples/family_cousins.js +0 -1586
  137. package/see/examples/fastpow.js +0 -2207
  138. package/see/examples/fibonacci.js +0 -1594
  139. package/see/examples/french_cities.js +0 -1492
  140. package/see/examples/fundamental_theorem_arithmetic.js +0 -2106
  141. package/see/examples/genetic_knapsack_selection.js +0 -1743
  142. package/see/examples/goldbach_1000.js +0 -1798
  143. package/see/examples/good_cobbler.js +0 -1396
  144. package/see/examples/gps.js +0 -2813
  145. package/see/examples/gray_code_counter.js +0 -1641
  146. package/see/examples/greatest_lower_bound_uniqueness.js +0 -1918
  147. package/see/examples/group_inverse_uniqueness.js +0 -1897
  148. package/see/examples/hadamard_approx.js +0 -4417
  149. package/see/examples/hanoi.js +0 -1625
  150. package/see/examples/input/age.trig +0 -27
  151. package/see/examples/input/backward.trig +0 -25
  152. package/see/examples/input/bayes_diagnosis.trig +0 -111
  153. package/see/examples/input/bayes_therapy.trig +0 -130
  154. package/see/examples/input/bmi.trig +0 -28
  155. package/see/examples/input/complex.trig +0 -26
  156. package/see/examples/input/complex_matrix_stability.trig +0 -65
  157. package/see/examples/input/composition_of_injective_functions_is_injective.trig +0 -35
  158. package/see/examples/input/control_system.trig +0 -31
  159. package/see/examples/input/crypto_builtins_tests.trig +0 -25
  160. package/see/examples/input/delfour.trig +0 -90
  161. package/see/examples/input/digital_product_passport.trig +0 -116
  162. package/see/examples/input/dijkstra.trig +0 -34
  163. package/see/examples/input/dog.trig +0 -31
  164. package/see/examples/input/equals.trig +0 -25
  165. package/see/examples/input/equivalence_classes_overlap_implies_same_class.trig +0 -28
  166. package/see/examples/input/euler_identity.trig +0 -34
  167. package/see/examples/input/ev_roundtrip_planner.trig +0 -90
  168. package/see/examples/input/existential_rule.trig +0 -26
  169. package/see/examples/input/expression_eval.trig +0 -41
  170. package/see/examples/input/family_cousins.trig +0 -39
  171. package/see/examples/input/fastpow.trig +0 -25
  172. package/see/examples/input/fibonacci.trig +0 -51
  173. package/see/examples/input/french_cities.trig +0 -38
  174. package/see/examples/input/fundamental_theorem_arithmetic.trig +0 -42
  175. package/see/examples/input/goldbach_1000.trig +0 -53
  176. package/see/examples/input/good_cobbler.trig +0 -24
  177. package/see/examples/input/gps.trig +0 -35
  178. package/see/examples/input/gray_code_counter.trig +0 -33
  179. package/see/examples/input/greatest_lower_bound_uniqueness.trig +0 -29
  180. package/see/examples/input/group_inverse_uniqueness.trig +0 -29
  181. package/see/examples/input/hadamard_approx.trig +0 -32
  182. package/see/examples/input/hanoi.trig +0 -26
  183. package/see/examples/input/odrl_dpv_risk_ranked.trig +0 -107
  184. package/see/examples/input/path-discovery.trig +0 -96448
  185. package/see/examples/input/path_discovery.trig +0 -29
  186. package/see/examples/input/socrates.trig +0 -26
  187. package/see/examples/input/wind_turbine.trig +0 -48
  188. package/see/examples/input/witch.trig +0 -26
  189. package/see/examples/n3/age.n3 +0 -28
  190. package/see/examples/n3/backward.n3 +0 -22
  191. package/see/examples/n3/bayes_diagnosis.n3 +0 -122
  192. package/see/examples/n3/bayes_therapy.n3 +0 -149
  193. package/see/examples/n3/bmi.n3 +0 -145
  194. package/see/examples/n3/collection.n3 +0 -3
  195. package/see/examples/n3/complex.n3 +0 -140
  196. package/see/examples/n3/complex_matrix_stability.n3 +0 -113
  197. package/see/examples/n3/composition_of_injective_functions_is_injective.n3 +0 -27
  198. package/see/examples/n3/control_system.n3 +0 -59
  199. package/see/examples/n3/crypto_builtins_tests.n3 +0 -18
  200. package/see/examples/n3/delfour.n3 +0 -167
  201. package/see/examples/n3/digital_product_passport.n3 +0 -156
  202. package/see/examples/n3/dijkstra.n3 +0 -46
  203. package/see/examples/n3/dog.n3 +0 -20
  204. package/see/examples/n3/equals.n3 +0 -11
  205. package/see/examples/n3/equivalence_classes_overlap_implies_same_class.n3 +0 -19
  206. package/see/examples/n3/euler_identity.n3 +0 -41
  207. package/see/examples/n3/ev_roundtrip_planner.n3 +0 -82
  208. package/see/examples/n3/existential_rule.n3 +0 -10
  209. package/see/examples/n3/expression_eval.n3 +0 -21
  210. package/see/examples/n3/family_cousins.n3 +0 -62
  211. package/see/examples/n3/fastpow.n3 +0 -56
  212. package/see/examples/n3/fibonacci.n3 +0 -44
  213. package/see/examples/n3/french_cities.n3 +0 -28
  214. package/see/examples/n3/fundamental_theorem_arithmetic.n3 +0 -84
  215. package/see/examples/n3/goldbach_1000.n3 +0 -66
  216. package/see/examples/n3/good_cobbler.n3 +0 -10
  217. package/see/examples/n3/gps.n3 +0 -70
  218. package/see/examples/n3/gray_code_counter.n3 +0 -53
  219. package/see/examples/n3/greatest_lower_bound_uniqueness.n3 +0 -20
  220. package/see/examples/n3/group_inverse_uniqueness.n3 +0 -19
  221. package/see/examples/n3/hadamard_approx.n3 +0 -43
  222. package/see/examples/n3/hanoi.n3 +0 -16
  223. package/see/examples/n3/odrl_dpv_risk_ranked.n3 +0 -460
  224. package/see/examples/n3/path_discovery.n3 +0 -43
  225. package/see/examples/n3/socrates.n3 +0 -21
  226. package/see/examples/n3/wind_turbine.n3 +0 -85
  227. package/see/examples/n3/witch.n3 +0 -30
  228. package/see/examples/odrl_dpv_risk_ranked.js +0 -5128
  229. package/see/examples/output/age.md +0 -48
  230. package/see/examples/output/annotation.md +0 -43
  231. package/see/examples/output/backward.md +0 -50
  232. package/see/examples/output/backward_recursion.md +0 -54
  233. package/see/examples/output/bayes_diagnosis.md +0 -103
  234. package/see/examples/output/bayes_therapy.md +0 -84
  235. package/see/examples/output/bmi.md +0 -164
  236. package/see/examples/output/builtin_coverage.md +0 -99
  237. package/see/examples/output/collection.md +0 -44
  238. package/see/examples/output/complex.md +0 -61
  239. package/see/examples/output/complex_matrix_stability.md +0 -55
  240. package/see/examples/output/composition_of_injective_functions_is_injective.md +0 -62
  241. package/see/examples/output/control_system.md +0 -61
  242. package/see/examples/output/crypto_builtins_tests.md +0 -68
  243. package/see/examples/output/delfour.md +0 -100
  244. package/see/examples/output/digital_product_passport.md +0 -100
  245. package/see/examples/output/dijkstra.md +0 -74
  246. package/see/examples/output/dijkstra_risk_path.md +0 -76
  247. package/see/examples/output/dog.md +0 -50
  248. package/see/examples/output/eco_route_insight.md +0 -88
  249. package/see/examples/output/equals.md +0 -50
  250. package/see/examples/output/equivalence_classes_overlap_implies_same_class.md +0 -86
  251. package/see/examples/output/euler_identity.md +0 -73
  252. package/see/examples/output/ev_roundtrip_planner.md +0 -79
  253. package/see/examples/output/existential_rule.md +0 -54
  254. package/see/examples/output/expression_eval.md +0 -50
  255. package/see/examples/output/family_cousins.md +0 -187
  256. package/see/examples/output/fastpow.md +0 -36
  257. package/see/examples/output/fibonacci.md +0 -53
  258. package/see/examples/output/french_cities.md +0 -70
  259. package/see/examples/output/fundamental_theorem_arithmetic.md +0 -101
  260. package/see/examples/output/genetic_knapsack_selection.md +0 -66
  261. package/see/examples/output/goldbach_1000.md +0 -58
  262. package/see/examples/output/good_cobbler.md +0 -54
  263. package/see/examples/output/gps.md +0 -102
  264. package/see/examples/output/gray_code_counter.md +0 -68
  265. package/see/examples/output/greatest_lower_bound_uniqueness.md +0 -60
  266. package/see/examples/output/group_inverse_uniqueness.md +0 -60
  267. package/see/examples/output/hadamard_approx.md +0 -510
  268. package/see/examples/output/hanoi.md +0 -51
  269. package/see/examples/output/odrl_dpv_risk_ranked.md +0 -139
  270. package/see/examples/output/path_discovery.md +0 -65
  271. package/see/examples/output/rc_discharge_envelope.md +0 -102
  272. package/see/examples/output/rdf_dataset.md +0 -54
  273. package/see/examples/output/rdf_message_flow.md +0 -198
  274. package/see/examples/output/rdf_messages.md +0 -134
  275. package/see/examples/output/school_placement_audit.md +0 -99
  276. package/see/examples/output/smoke_arithmetic.md +0 -54
  277. package/see/examples/output/socrates.md +0 -55
  278. package/see/examples/output/triple_terms.md +0 -53
  279. package/see/examples/output/wind_turbine.md +0 -108
  280. package/see/examples/output/witch.md +0 -87
  281. package/see/examples/path_discovery.js +0 -1774
  282. package/see/examples/rc_discharge_envelope.js +0 -1993
  283. package/see/examples/rdf_dataset.js +0 -1512
  284. package/see/examples/rdf_message_flow.js +0 -2580
  285. package/see/examples/rdf_messages.js +0 -2176
  286. package/see/examples/school_placement_audit.js +0 -1867
  287. package/see/examples/smoke_arithmetic.js +0 -1483
  288. package/see/examples/socrates.js +0 -1420
  289. package/see/examples/triple_terms.js +0 -1442
  290. package/see/examples/wind_turbine.js +0 -2853
  291. package/see/examples/witch.js +0 -1519
  292. package/see/see.js +0 -2179
  293. package/test/see.test.js +0 -159
  294. /package/{see/examples/n3/builtin_coverage.n3 → examples/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.