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,26 +0,0 @@
1
- # Equals test
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- Example from Patrick Hochstenbach
6
-
7
- ## Compilation summary
8
-
9
- - Example name: `equals`
10
- - Input facts emitted: 1
11
- - Forward rules compiled: 1
12
- - Backward predicate rules compiled: 0
13
- - Fuses compiled: 0
14
- - Predicate count: 2
15
-
16
- ## Built-ins used
17
-
18
- - none
19
-
20
- ## Runtime model
21
-
22
- The generated `examples/equals.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/equals.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/equals.trig` or `examples/input/equals.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
23
-
24
- ## Output model
25
-
26
- Running `node examples/equals.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,24 +0,0 @@
1
- # If two equivalence classes share an element, they are the same class.
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- ## Compilation summary
6
-
7
- - Example name: `equivalence_classes_overlap_implies_same_class`
8
- - Input facts emitted: 5
9
- - Forward rules compiled: 7
10
- - Backward predicate rules compiled: 0
11
- - Fuses compiled: 0
12
- - Predicate count: 7
13
-
14
- ## Built-ins used
15
-
16
- - `log:notEqualTo`
17
-
18
- ## Runtime model
19
-
20
- The generated `examples/equivalence_classes_overlap_implies_same_class.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/equivalence_classes_overlap_implies_same_class.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/equivalence-classes-overlap-implies-same-class.trig` or `examples/input/equivalence_classes_overlap_implies_same_class.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
21
-
22
- ## Output model
23
-
24
- Running `node examples/equivalence_classes_overlap_implies_same_class.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,39 +0,0 @@
1
- # Euler identity (exact, certificate-friendly):
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- exp(i*pi) + 1 = 0
6
- Philosophy:
7
- Unlike the T-gate example, this phase needs no approximation. exp(i*pi) lands exactly at
8
- (-1,0) = cos(pi) + i sin(pi), so the identity can be certified using integer arithmetic
9
- alone.
10
- Method:
11
- 1) Construct -1 as 0 - 1.
12
- 2) Represent exp(i*pi) exactly as (-1, 0).
13
- 3) Add 1 componentwise to obtain (0, 0).
14
- 4) Sanity validation the phase modulus: |-1 + 0i|^2 = 1.
15
- 5) Project only the intended certificates via log:query.
16
-
17
- ## Compilation summary
18
-
19
- - Example name: `euler_identity`
20
- - Input facts emitted: 10
21
- - Forward rules compiled: 5
22
- - Backward predicate rules compiled: 0
23
- - Fuses compiled: 0
24
- - Predicate count: 21
25
-
26
- ## Built-ins used
27
-
28
- - `math:difference`
29
- - `math:equalTo`
30
- - `math:product`
31
- - `math:sum`
32
-
33
- ## Runtime model
34
-
35
- The generated `examples/euler_identity.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/euler_identity.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/euler-identity.trig` or `examples/input/euler_identity.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
36
-
37
- ## Output model
38
-
39
- Running `node examples/euler_identity.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,32 +0,0 @@
1
- # EV Roadtrip Planner
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- N3-compiled version of the hand-written EV roadtrip planner. Candidate plans
6
- are represented as data; rules apply the same acceptance thresholds and select
7
- the fastest acceptable route.
8
-
9
- ## Compilation summary
10
-
11
- - Example name: `ev_roundtrip_planner`
12
- - Input facts emitted: 64
13
- - Forward rules compiled: 3
14
- - Backward predicate rules compiled: 0
15
- - Fuses compiled: 1
16
- - Predicate count: 27
17
-
18
- ## Built-ins used
19
-
20
- - `log:notIncludes`
21
- - `log:outputString`
22
- - `math:greaterThan`
23
- - `math:lessThan`
24
- - `string:format`
25
-
26
- ## Runtime model
27
-
28
- The generated `examples/ev_roundtrip_planner.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/ev_roundtrip_planner.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/ev-roundtrip-planner.trig` or `examples/input/ev_roundtrip_planner.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
29
-
30
- ## Output model
31
-
32
- Running `node examples/ev_roundtrip_planner.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,24 +0,0 @@
1
- # Existential rule
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- ## Compilation summary
6
-
7
- - Example name: `existential_rule`
8
- - Input facts emitted: 2
9
- - Forward rules compiled: 1
10
- - Backward predicate rules compiled: 0
11
- - Fuses compiled: 0
12
- - Predicate count: 2
13
-
14
- ## Built-ins used
15
-
16
- - none
17
-
18
- ## Runtime model
19
-
20
- The generated `examples/existential_rule.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/existential_rule.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/existential-rule.trig` or `examples/input/existential_rule.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
21
-
22
- ## Output model
23
-
24
- Running `node examples/existential_rule.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,26 +0,0 @@
1
- # A tiny expression evaluator in N3
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- ## Compilation summary
6
-
7
- - Example name: `expression_eval`
8
- - Input facts emitted: 17
9
- - Forward rules compiled: 1
10
- - Backward predicate rules compiled: 4
11
- - Fuses compiled: 0
12
- - Predicate count: 11
13
-
14
- ## Built-ins used
15
-
16
- - `math:difference`
17
- - `math:product`
18
- - `math:sum`
19
-
20
- ## Runtime model
21
-
22
- The generated `examples/expression_eval.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/expression_eval.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/expression-eval.trig` or `examples/input/expression_eval.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
23
-
24
- ## Output model
25
-
26
- Running `node examples/expression_eval.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,24 +0,0 @@
1
- # Family cousins
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- ## Compilation summary
6
-
7
- - Example name: `family_cousins`
8
- - Input facts emitted: 15
9
- - Forward rules compiled: 4
10
- - Backward predicate rules compiled: 0
11
- - Fuses compiled: 0
12
- - Predicate count: 6
13
-
14
- ## Built-ins used
15
-
16
- - `math:sum`
17
-
18
- ## Runtime model
19
-
20
- The generated `examples/family_cousins.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/family_cousins.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/family-cousins.trig` or `examples/input/family_cousins.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
21
-
22
- ## Output model
23
-
24
- Running `node examples/family_cousins.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,29 +0,0 @@
1
- # Fast exponentiation demo
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- ## Compilation summary
6
-
7
- - Example name: `fastpow`
8
- - Input facts emitted: 0
9
- - Forward rules compiled: 1
10
- - Backward predicate rules compiled: 7
11
- - Fuses compiled: 0
12
- - Predicate count: 12
13
-
14
- ## Built-ins used
15
-
16
- - `math:difference`
17
- - `math:equalTo`
18
- - `math:exponentiation`
19
- - `math:greaterThan`
20
- - `math:product`
21
- - `math:remainder`
22
-
23
- ## Runtime model
24
-
25
- The generated `examples/fastpow.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/fastpow.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/fastpow.trig` or `examples/input/fastpow.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
26
-
27
- ## Output model
28
-
29
- Running `node examples/fastpow.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,28 +0,0 @@
1
- # Fibonacci Example (Big)
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- N3-compiled version of the exact Fibonacci example. The target and sample indices are represented as formal TriG input
6
- evidence when this source is compiled.
7
-
8
- ## Compilation summary
9
-
10
- - Example name: `fibonacci`
11
- - Input facts emitted: 27
12
- - Forward rules compiled: 1
13
- - Backward predicate rules compiled: 0
14
- - Fuses compiled: 0
15
- - Predicate count: 11
16
-
17
- ## Built-ins used
18
-
19
- - `log:outputString`
20
- - `string:format`
21
-
22
- ## Runtime model
23
-
24
- The generated `examples/fibonacci.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/fibonacci.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/fibonacci.trig` or `examples/input/fibonacci.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
25
-
26
- ## Output model
27
-
28
- Running `node examples/fibonacci.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,28 +0,0 @@
1
- # French cities — graph path traversal.
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- Based on the EYE reasoning/graph example: graph.axiom.n3 plus graph.filter.n3.
6
- It asks whether Paris can reach Nantes by following one-way links, using a
7
- subproperty rule and a transitive-property rule.
8
-
9
- ## Compilation summary
10
-
11
- - Example name: `french_cities`
12
- - Input facts emitted: 12
13
- - Forward rules compiled: 2
14
- - Backward predicate rules compiled: 0
15
- - Fuses compiled: 0
16
- - Predicate count: 6
17
-
18
- ## Built-ins used
19
-
20
- - none
21
-
22
- ## Runtime model
23
-
24
- The generated `examples/french_cities.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/french_cities.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/french-cities.trig` or `examples/input/french_cities.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
25
-
26
- ## Output model
27
-
28
- Running `node examples/french_cities.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,36 +0,0 @@
1
- # Fundamental Theorem Arithmetic
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- N3-compiled version of the hand-written SEE example. The primary case mirrors
6
- Eyeling's fundamental-theorem-arithmetic.n3: n = 202692987 is validated against
7
- the factorization 3^2 * 7 * 829 * 3881. Extra sample summaries are kept as
8
- data so the SEE report still documents the larger regression set.
9
-
10
- ## Compilation summary
11
-
12
- - Example name: `fundamental_theorem_arithmetic`
13
- - Input facts emitted: 16
14
- - Forward rules compiled: 4
15
- - Backward predicate rules compiled: 0
16
- - Fuses compiled: 3
17
- - Predicate count: 25
18
-
19
- ## Built-ins used
20
-
21
- - `list:reverse`
22
- - `list:sort`
23
- - `log:equalTo`
24
- - `log:notIncludes`
25
- - `log:outputString`
26
- - `math:equalTo`
27
- - `math:product`
28
- - `string:format`
29
-
30
- ## Runtime model
31
-
32
- The generated `examples/fundamental_theorem_arithmetic.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/fundamental_theorem_arithmetic.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/fundamental-theorem-arithmetic.trig` or `examples/input/fundamental_theorem_arithmetic.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
33
-
34
- ## Output model
35
-
36
- Running `node examples/fundamental_theorem_arithmetic.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,29 +0,0 @@
1
- # Genetic Knapsack Selection
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- N3-compiled version of the deterministic one-bit mutation knapsack example.
6
- The original item list JSON is preserved as the data-input sidecar.
7
-
8
- ## Compilation summary
9
-
10
- - Example name: `genetic_knapsack_selection`
11
- - Input facts emitted: 14
12
- - Forward rules compiled: 2
13
- - Backward predicate rules compiled: 0
14
- - Fuses compiled: 0
15
- - Predicate count: 17
16
-
17
- ## Built-ins used
18
-
19
- - `log:outputString`
20
- - `math:notGreaterThan`
21
- - `string:format`
22
-
23
- ## Runtime model
24
-
25
- The generated `examples/genetic_knapsack_selection.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/genetic_knapsack_selection.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/genetic-knapsack-selection.trig` or `examples/input/genetic_knapsack_selection.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
26
-
27
- ## Output model
28
-
29
- Running `node examples/genetic_knapsack_selection.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,31 +0,0 @@
1
- # Goldbach 1000
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- N3-compiled version of the bounded Goldbach SEE example. It keeps the bounded
6
- result as committed data and uses rules to verify the representative witness
7
- equations that are shown in the report.
8
-
9
- ## Compilation summary
10
-
11
- - Example name: `goldbach_1000`
12
- - Input facts emitted: 28
13
- - Forward rules compiled: 3
14
- - Backward predicate rules compiled: 0
15
- - Fuses compiled: 1
16
- - Predicate count: 16
17
-
18
- ## Built-ins used
19
-
20
- - `log:notIncludes`
21
- - `log:outputString`
22
- - `math:sum`
23
- - `string:format`
24
-
25
- ## Runtime model
26
-
27
- The generated `examples/goldbach_1000.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/goldbach_1000.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/goldbach-1000.trig` or `examples/input/goldbach_1000.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
28
-
29
- ## Output model
30
-
31
- Running `node examples/goldbach_1000.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,27 +0,0 @@
1
- # Good cobbler
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- Example from https://shs.hal.science/halshs-04148373/document
6
- Using term logic http://intrologic.stanford.edu/chapters/chapter_11.html
7
-
8
- ## Compilation summary
9
-
10
- - Example name: `good_cobbler`
11
- - Input facts emitted: 1
12
- - Forward rules compiled: 1
13
- - Backward predicate rules compiled: 0
14
- - Fuses compiled: 0
15
- - Predicate count: 1
16
-
17
- ## Built-ins used
18
-
19
- - none
20
-
21
- ## Runtime model
22
-
23
- The generated `examples/good_cobbler.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/good_cobbler.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/good-cobbler.trig` or `examples/input/good_cobbler.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
24
-
25
- ## Output model
26
-
27
- Running `node examples/good_cobbler.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,35 +0,0 @@
1
- # GPS route planning
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- Goal-driven path planning over a tiny western-Belgium map. The N3 source is
6
- adapted from Eyeling's GPS example and compiles to a standalone SEE example.
7
-
8
- ## Compilation summary
9
-
10
- - Example name: `gps`
11
- - Input facts emitted: 8
12
- - Forward rules compiled: 5
13
- - Backward predicate rules compiled: 2
14
- - Fuses compiled: 4
15
- - Predicate count: 21
16
-
17
- ## Built-ins used
18
-
19
- - `list:append`
20
- - `log:outputString`
21
- - `math:greaterThan`
22
- - `math:lessThan`
23
- - `math:notGreaterThan`
24
- - `math:notLessThan`
25
- - `math:product`
26
- - `math:sum`
27
- - `string:format`
28
-
29
- ## Runtime model
30
-
31
- The generated `examples/gps.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/gps.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/gps.trig` or `examples/input/gps.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
32
-
33
- ## Output model
34
-
35
- Running `node examples/gps.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,31 +0,0 @@
1
- # Gray Code Counter
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- N3-compiled version of the 4-bit Gray counter SEE example. The example keeps
6
- the known reflected Gray-code sequence as data, derives its visited-state count
7
- with a list builtin, and derives the published invariants before rendering the
8
- SEE report.
9
-
10
- ## Compilation summary
11
-
12
- - Example name: `gray_code_counter`
13
- - Input facts emitted: 7
14
- - Forward rules compiled: 3
15
- - Backward predicate rules compiled: 0
16
- - Fuses compiled: 0
17
- - Predicate count: 12
18
-
19
- ## Built-ins used
20
-
21
- - `list:length`
22
- - `log:outputString`
23
- - `string:format`
24
-
25
- ## Runtime model
26
-
27
- The generated `examples/gray_code_counter.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/gray_code_counter.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/gray-code-counter.trig` or `examples/input/gray_code_counter.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
28
-
29
- ## Output model
30
-
31
- Running `node examples/gray_code_counter.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,24 +0,0 @@
1
- # In a partial order, a greatest lower bound is unique.
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- ## Compilation summary
6
-
7
- - Example name: `greatest_lower_bound_uniqueness`
8
- - Input facts emitted: 6
9
- - Forward rules compiled: 7
10
- - Backward predicate rules compiled: 0
11
- - Fuses compiled: 0
12
- - Predicate count: 8
13
-
14
- ## Built-ins used
15
-
16
- - `log:notEqualTo`
17
-
18
- ## Runtime model
19
-
20
- The generated `examples/greatest_lower_bound_uniqueness.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/greatest_lower_bound_uniqueness.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/greatest-lower-bound-uniqueness.trig` or `examples/input/greatest_lower_bound_uniqueness.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
21
-
22
- ## Output model
23
-
24
- Running `node examples/greatest_lower_bound_uniqueness.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,24 +0,0 @@
1
- # In a group, the inverse of an element is unique.
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- ## Compilation summary
6
-
7
- - Example name: `group_inverse_uniqueness`
8
- - Input facts emitted: 6
9
- - Forward rules compiled: 6
10
- - Backward predicate rules compiled: 0
11
- - Fuses compiled: 0
12
- - Predicate count: 6
13
-
14
- ## Built-ins used
15
-
16
- - `log:notEqualTo`
17
-
18
- ## Runtime model
19
-
20
- The generated `examples/group_inverse_uniqueness.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/group_inverse_uniqueness.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/group-inverse-uniqueness.trig` or `examples/input/group_inverse_uniqueness.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
21
-
22
- ## Output model
23
-
24
- Running `node examples/group_inverse_uniqueness.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,32 +0,0 @@
1
- # Hadamard gate approximation
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- ## Compilation summary
6
-
7
- - Example name: `hadamard_approx`
8
- - Input facts emitted: 8
9
- - Forward rules compiled: 10
10
- - Backward predicate rules compiled: 0
11
- - Fuses compiled: 0
12
- - Predicate count: 39
13
-
14
- ## Built-ins used
15
-
16
- - `math:difference`
17
- - `math:equalTo`
18
- - `math:exponentiation`
19
- - `math:lessThan`
20
- - `math:notGreaterThan`
21
- - `math:notLessThan`
22
- - `math:product`
23
- - `math:quotient`
24
- - `math:sum`
25
-
26
- ## Runtime model
27
-
28
- The generated `examples/hadamard_approx.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/hadamard_approx.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/hadamard-approx.trig` or `examples/input/hadamard_approx.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
29
-
30
- ## Output model
31
-
32
- Running `node examples/hadamard_approx.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,26 +0,0 @@
1
- # Towers of Hanoi
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- ## Compilation summary
6
-
7
- - Example name: `hanoi`
8
- - Input facts emitted: 0
9
- - Forward rules compiled: 1
10
- - Backward predicate rules compiled: 2
11
- - Fuses compiled: 0
12
- - Predicate count: 5
13
-
14
- ## Built-ins used
15
-
16
- - `list:append`
17
- - `math:difference`
18
- - `math:greaterThan`
19
-
20
- ## Runtime model
21
-
22
- The generated `examples/hanoi.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/hanoi.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/hanoi.trig` or `examples/input/hanoi.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
23
-
24
- ## Output model
25
-
26
- Running `node examples/hanoi.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
@@ -1,57 +0,0 @@
1
- # ODRL + DPV risk assessment with ranked, explainable output.
2
-
3
- Generated by `see.js` from a Notation3 source file.
4
-
5
- What this file does
6
- - Models an agreement as an ODRL policy (odrl:Policy) containing permissions,
7
- prohibitions, duties, and constraints. ODRL is expressive enough to encode the
8
- normative “may/must/must-not” structure of TOS clauses as RDF.
9
- - Links each ODRL rule to a clause resource (:Clause) to keep human-readable text
10
- while preserving machine-readable structure for reasoning.
11
- - Uses N3 rules with log:includes / log:notIncludes to detect missing safeguards
12
- (e.g., missing notice constraints, missing inform duties, missing consent constraints).
13
- - Generates DPV risks (dpv:Risk) and classifies them using DPV-RISK concepts:
14
- risk:hasRiskSource, dpv:hasConsequence, dpv:hasImpact, dpv:hasSeverity, dpv:hasRiskLevel.
15
- - Produces mitigations as dpv:RiskMitigationMeasure resources and attaches them
16
- to risks with dpv:isMitigatedByMeasure.
17
- - Computes a numeric score for each risk and prints a ranked, explainable report.
18
- Ranking / output
19
- - Output strings are emitted as log:outputString triples.
20
- - When running with Eyeling “strings” mode (-r), strings are printed in deterministic
21
- order based on their subject key. The program encodes ranking via an “inverse score”
22
- key (e.g., 1000 - score) so higher-risk items appear first.
23
- References
24
- - N3 spec: https://w3c.github.io/N3/spec/
25
- - Eyeling builtins: https://eyereasoner.github.io/eyeling/HANDBOOK#ch11
26
- - ODRL vocab: https://www.w3.org/TR/odrl-vocab/
27
- - DPV risk module: https://dev.dpvcg.org/dpv/modules/risk
28
- - DPV-RISK: https://w3id.org/dpv/risk
29
-
30
- ## Compilation summary
31
-
32
- - Example name: `odrl_dpv_risk_ranked`
33
- - Input facts emitted: 38
34
- - Forward rules compiled: 9
35
- - Backward predicate rules compiled: 0
36
- - Fuses compiled: 0
37
- - Predicate count: 32
38
-
39
- ## Built-ins used
40
-
41
- - `log:includes`
42
- - `log:notIncludes`
43
- - `log:outputString`
44
- - `math:difference`
45
- - `math:greaterThan`
46
- - `math:lessThan`
47
- - `math:notLessThan`
48
- - `math:sum`
49
- - `string:format`
50
-
51
- ## Runtime model
52
-
53
- The generated `examples/odrl_dpv_risk_ranked.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/odrl_dpv_risk_ranked.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/odrl-dpv-risk-ranked.trig` or `examples/input/odrl_dpv_risk_ranked.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.
54
-
55
- ## Output model
56
-
57
- Running `node examples/odrl_dpv_risk_ranked.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.