eyeling 1.24.5 → 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.
- package/HANDBOOK.md +0 -99
- package/README.md +2 -2
- package/dist/browser/eyeling.browser.js +6 -0
- package/{see/examples/n3 → examples}/annotation.n3 +1 -1
- package/{see/examples/n3/backward_recursion.n3 → examples/backward-recursion.n3} +0 -2
- package/examples/collection.n3 +3 -0
- package/examples/context-association.n3 +59 -0
- package/{see/examples/n3/dijkstra_risk_path.n3 → examples/dijkstra-risk-path.n3} +3 -18
- package/{see/examples/n3/eco_route_insight.n3 → examples/eco-route-insight.n3} +2 -47
- package/{see/examples/n3/genetic_knapsack_selection.n3 → examples/genetic-knapsack-selection.n3} +2 -24
- package/{see/examples → examples}/input/annotation.trig +3 -3
- package/{see/examples/input/backward_recursion.trig → examples/input/backward-recursion.trig} +2 -2
- package/{see/examples/input/builtin_coverage.trig → examples/input/builtin-coverage.trig} +2 -2
- package/{see/examples → examples}/input/collection.trig +3 -3
- package/examples/input/context-association.trig +35 -0
- package/{see/examples/input/dijkstra_risk_path.trig → examples/input/dijkstra-risk-path.trig} +4 -4
- package/{see/examples/input/eco_route_insight.trig → examples/input/eco-route-insight.trig} +4 -4
- package/{see/examples/input/genetic_knapsack_selection.trig → examples/input/genetic-knapsack-selection.trig} +4 -4
- package/{see/examples/input/rc_discharge_envelope.trig → examples/input/rc-discharge-envelope.trig} +4 -4
- package/{see/examples/input/rdf_dataset.trig → examples/input/rdf-dataset.trig} +4 -4
- package/{see/examples/input/rdf_message_flow.trig → examples/input/rdf-message-flow.trig} +3 -3
- package/{see/examples/input/rdf_messages.trig → examples/input/rdf-messages.trig} +4 -4
- package/{see/examples/input/school_placement_audit.trig → examples/input/school-placement-audit.trig} +4 -4
- package/{see/examples/input/smoke_arithmetic.trig → examples/input/smoke-arithmetic.trig} +3 -3
- package/{see/examples/input/triple_terms.trig → examples/input/triple-terms.trig} +3 -3
- package/examples/output/annotation.n3 +0 -0
- package/examples/output/backward-recursion.n3 +4 -0
- package/examples/output/builtin-coverage.n3 +0 -0
- package/examples/output/collection.n3 +0 -0
- package/examples/output/context-association.n3 +9 -0
- package/examples/output/dijkstra-risk-path.n3 +3 -0
- package/examples/output/eco-route-insight.n3 +3 -0
- package/examples/output/genetic-knapsack-selection.n3 +3 -0
- package/examples/output/rc-discharge-envelope.n3 +9 -0
- package/examples/output/rc-discharge-envelope.txt +9 -0
- package/examples/output/rdf-dataset.n3 +5 -0
- package/examples/output/rdf-message-flow.n3 +7 -0
- package/examples/output/rdf-messages.n3 +7 -0
- package/examples/output/school-placement-audit.n3 +3 -0
- package/examples/output/smoke-arithmetic.n3 +5 -0
- package/examples/output/smoke-arithmetic.txt +5 -0
- package/examples/output/triple-terms.n3 +5 -0
- package/{see/examples/n3/rc_discharge_envelope.n3 → examples/rc-discharge-envelope.n3} +2 -15
- package/{see/examples/n3/rdf_dataset.n3 → examples/rdf-dataset.n3} +2 -11
- package/{see/examples/n3/rdf_message_flow.n3 → examples/rdf-message-flow.n3} +9 -75
- package/{see/examples/n3/rdf_messages.n3 → examples/rdf-messages.n3} +6 -43
- package/{see/examples/n3/school_placement_audit.n3 → examples/school-placement-audit.n3} +2 -14
- package/{see/examples/n3/smoke_arithmetic.n3 → examples/smoke-arithmetic.n3} +3 -5
- package/{see/examples/n3/triple_terms.n3 → examples/triple-terms.n3} +1 -4
- package/eyeling.js +6 -0
- package/lib/builtins.js +6 -0
- package/package.json +4 -7
- package/test/api.test.js +25 -8
- package/test/examples.test.js +22 -2
- package/test/package.test.js +16 -2
- package/see/README.md +0 -149
- package/see/examples/_see.js +0 -249
- package/see/examples/age.js +0 -1459
- package/see/examples/annotation.js +0 -1320
- package/see/examples/backward.js +0 -1405
- package/see/examples/backward_recursion.js +0 -1504
- package/see/examples/bayes_diagnosis.js +0 -2883
- package/see/examples/bayes_therapy.js +0 -4152
- package/see/examples/bmi.js +0 -3038
- package/see/examples/builtin_coverage.js +0 -2524
- package/see/examples/collection.js +0 -1320
- package/see/examples/complex.js +0 -3762
- package/see/examples/complex_matrix_stability.js +0 -2973
- package/see/examples/composition_of_injective_functions_is_injective.js +0 -2170
- package/see/examples/control_system.js +0 -1918
- package/see/examples/crypto_builtins_tests.js +0 -1489
- package/see/examples/delfour.js +0 -3174
- package/see/examples/digital_product_passport.js +0 -2856
- package/see/examples/dijkstra.js +0 -2070
- package/see/examples/dijkstra_risk_path.js +0 -1874
- package/see/examples/doc/age.md +0 -27
- package/see/examples/doc/annotation.md +0 -24
- package/see/examples/doc/backward.md +0 -26
- package/see/examples/doc/backward_recursion.md +0 -26
- package/see/examples/doc/bayes_diagnosis.md +0 -41
- package/see/examples/doc/bayes_therapy.md +0 -40
- package/see/examples/doc/bmi.md +0 -38
- package/see/examples/doc/builtin_coverage.md +0 -53
- package/see/examples/doc/collection.md +0 -24
- package/see/examples/doc/complex.md +0 -38
- package/see/examples/doc/complex_matrix_stability.md +0 -35
- package/see/examples/doc/composition_of_injective_functions_is_injective.md +0 -24
- package/see/examples/doc/control_system.md +0 -32
- package/see/examples/doc/crypto_builtins_tests.md +0 -27
- package/see/examples/doc/delfour.md +0 -37
- package/see/examples/doc/digital_product_passport.md +0 -36
- package/see/examples/doc/dijkstra.md +0 -28
- package/see/examples/doc/dijkstra_risk_path.md +0 -30
- package/see/examples/doc/dog.md +0 -28
- package/see/examples/doc/eco_route_insight.md +0 -33
- package/see/examples/doc/equals.md +0 -26
- package/see/examples/doc/equivalence_classes_overlap_implies_same_class.md +0 -24
- package/see/examples/doc/euler_identity.md +0 -39
- package/see/examples/doc/ev_roundtrip_planner.md +0 -32
- package/see/examples/doc/existential_rule.md +0 -24
- package/see/examples/doc/expression_eval.md +0 -26
- package/see/examples/doc/family_cousins.md +0 -24
- package/see/examples/doc/fastpow.md +0 -29
- package/see/examples/doc/fibonacci.md +0 -28
- package/see/examples/doc/french_cities.md +0 -28
- package/see/examples/doc/fundamental_theorem_arithmetic.md +0 -36
- package/see/examples/doc/genetic_knapsack_selection.md +0 -29
- package/see/examples/doc/goldbach_1000.md +0 -31
- package/see/examples/doc/good_cobbler.md +0 -27
- package/see/examples/doc/gps.md +0 -35
- package/see/examples/doc/gray_code_counter.md +0 -31
- package/see/examples/doc/greatest_lower_bound_uniqueness.md +0 -24
- package/see/examples/doc/group_inverse_uniqueness.md +0 -24
- package/see/examples/doc/hadamard_approx.md +0 -32
- package/see/examples/doc/hanoi.md +0 -26
- package/see/examples/doc/odrl_dpv_risk_ranked.md +0 -57
- package/see/examples/doc/path_discovery.md +0 -33
- package/see/examples/doc/rc_discharge_envelope.md +0 -33
- package/see/examples/doc/rdf_dataset.md +0 -26
- package/see/examples/doc/rdf_message_flow.md +0 -35
- package/see/examples/doc/rdf_messages.md +0 -37
- package/see/examples/doc/school_placement_audit.md +0 -31
- package/see/examples/doc/smoke_arithmetic.md +0 -31
- package/see/examples/doc/socrates.md +0 -24
- package/see/examples/doc/triple_terms.md +0 -26
- package/see/examples/doc/wind_turbine.md +0 -37
- package/see/examples/doc/witch.md +0 -28
- package/see/examples/dog.js +0 -1436
- package/see/examples/eco_route_insight.js +0 -2110
- package/see/examples/equals.js +0 -1363
- package/see/examples/equivalence_classes_overlap_implies_same_class.js +0 -1792
- package/see/examples/euler_identity.js +0 -2038
- package/see/examples/ev_roundtrip_planner.js +0 -2562
- package/see/examples/existential_rule.js +0 -1363
- package/see/examples/expression_eval.js +0 -1798
- package/see/examples/family_cousins.js +0 -1586
- package/see/examples/fastpow.js +0 -2207
- package/see/examples/fibonacci.js +0 -1594
- package/see/examples/french_cities.js +0 -1492
- package/see/examples/fundamental_theorem_arithmetic.js +0 -2106
- package/see/examples/genetic_knapsack_selection.js +0 -1743
- package/see/examples/goldbach_1000.js +0 -1798
- package/see/examples/good_cobbler.js +0 -1396
- package/see/examples/gps.js +0 -2813
- package/see/examples/gray_code_counter.js +0 -1641
- package/see/examples/greatest_lower_bound_uniqueness.js +0 -1918
- package/see/examples/group_inverse_uniqueness.js +0 -1897
- package/see/examples/hadamard_approx.js +0 -4417
- package/see/examples/hanoi.js +0 -1625
- package/see/examples/input/age.trig +0 -27
- package/see/examples/input/backward.trig +0 -25
- package/see/examples/input/bayes_diagnosis.trig +0 -111
- package/see/examples/input/bayes_therapy.trig +0 -130
- package/see/examples/input/bmi.trig +0 -28
- package/see/examples/input/complex.trig +0 -26
- package/see/examples/input/complex_matrix_stability.trig +0 -65
- package/see/examples/input/composition_of_injective_functions_is_injective.trig +0 -35
- package/see/examples/input/control_system.trig +0 -31
- package/see/examples/input/crypto_builtins_tests.trig +0 -25
- package/see/examples/input/delfour.trig +0 -90
- package/see/examples/input/digital_product_passport.trig +0 -116
- package/see/examples/input/dijkstra.trig +0 -34
- package/see/examples/input/dog.trig +0 -31
- package/see/examples/input/equals.trig +0 -25
- package/see/examples/input/equivalence_classes_overlap_implies_same_class.trig +0 -28
- package/see/examples/input/euler_identity.trig +0 -34
- package/see/examples/input/ev_roundtrip_planner.trig +0 -90
- package/see/examples/input/existential_rule.trig +0 -26
- package/see/examples/input/expression_eval.trig +0 -41
- package/see/examples/input/family_cousins.trig +0 -39
- package/see/examples/input/fastpow.trig +0 -25
- package/see/examples/input/fibonacci.trig +0 -51
- package/see/examples/input/french_cities.trig +0 -38
- package/see/examples/input/fundamental_theorem_arithmetic.trig +0 -42
- package/see/examples/input/goldbach_1000.trig +0 -53
- package/see/examples/input/good_cobbler.trig +0 -24
- package/see/examples/input/gps.trig +0 -35
- package/see/examples/input/gray_code_counter.trig +0 -33
- package/see/examples/input/greatest_lower_bound_uniqueness.trig +0 -29
- package/see/examples/input/group_inverse_uniqueness.trig +0 -29
- package/see/examples/input/hadamard_approx.trig +0 -32
- package/see/examples/input/hanoi.trig +0 -26
- package/see/examples/input/odrl_dpv_risk_ranked.trig +0 -107
- package/see/examples/input/path-discovery.trig +0 -96448
- package/see/examples/input/path_discovery.trig +0 -29
- package/see/examples/input/socrates.trig +0 -26
- package/see/examples/input/wind_turbine.trig +0 -48
- package/see/examples/input/witch.trig +0 -26
- package/see/examples/n3/age.n3 +0 -28
- package/see/examples/n3/backward.n3 +0 -22
- package/see/examples/n3/bayes_diagnosis.n3 +0 -122
- package/see/examples/n3/bayes_therapy.n3 +0 -149
- package/see/examples/n3/bmi.n3 +0 -145
- package/see/examples/n3/collection.n3 +0 -3
- package/see/examples/n3/complex.n3 +0 -140
- package/see/examples/n3/complex_matrix_stability.n3 +0 -113
- package/see/examples/n3/composition_of_injective_functions_is_injective.n3 +0 -27
- package/see/examples/n3/control_system.n3 +0 -59
- package/see/examples/n3/crypto_builtins_tests.n3 +0 -18
- package/see/examples/n3/delfour.n3 +0 -167
- package/see/examples/n3/digital_product_passport.n3 +0 -156
- package/see/examples/n3/dijkstra.n3 +0 -46
- package/see/examples/n3/dog.n3 +0 -20
- package/see/examples/n3/equals.n3 +0 -11
- package/see/examples/n3/equivalence_classes_overlap_implies_same_class.n3 +0 -19
- package/see/examples/n3/euler_identity.n3 +0 -41
- package/see/examples/n3/ev_roundtrip_planner.n3 +0 -82
- package/see/examples/n3/existential_rule.n3 +0 -10
- package/see/examples/n3/expression_eval.n3 +0 -21
- package/see/examples/n3/family_cousins.n3 +0 -62
- package/see/examples/n3/fastpow.n3 +0 -56
- package/see/examples/n3/fibonacci.n3 +0 -44
- package/see/examples/n3/french_cities.n3 +0 -28
- package/see/examples/n3/fundamental_theorem_arithmetic.n3 +0 -84
- package/see/examples/n3/goldbach_1000.n3 +0 -66
- package/see/examples/n3/good_cobbler.n3 +0 -10
- package/see/examples/n3/gps.n3 +0 -70
- package/see/examples/n3/gray_code_counter.n3 +0 -53
- package/see/examples/n3/greatest_lower_bound_uniqueness.n3 +0 -20
- package/see/examples/n3/group_inverse_uniqueness.n3 +0 -19
- package/see/examples/n3/hadamard_approx.n3 +0 -43
- package/see/examples/n3/hanoi.n3 +0 -16
- package/see/examples/n3/odrl_dpv_risk_ranked.n3 +0 -460
- package/see/examples/n3/path_discovery.n3 +0 -43
- package/see/examples/n3/socrates.n3 +0 -21
- package/see/examples/n3/wind_turbine.n3 +0 -85
- package/see/examples/n3/witch.n3 +0 -30
- package/see/examples/odrl_dpv_risk_ranked.js +0 -5128
- package/see/examples/output/age.md +0 -48
- package/see/examples/output/annotation.md +0 -43
- package/see/examples/output/backward.md +0 -50
- package/see/examples/output/backward_recursion.md +0 -54
- package/see/examples/output/bayes_diagnosis.md +0 -103
- package/see/examples/output/bayes_therapy.md +0 -84
- package/see/examples/output/bmi.md +0 -164
- package/see/examples/output/builtin_coverage.md +0 -99
- package/see/examples/output/collection.md +0 -44
- package/see/examples/output/complex.md +0 -61
- package/see/examples/output/complex_matrix_stability.md +0 -55
- package/see/examples/output/composition_of_injective_functions_is_injective.md +0 -62
- package/see/examples/output/control_system.md +0 -61
- package/see/examples/output/crypto_builtins_tests.md +0 -68
- package/see/examples/output/delfour.md +0 -100
- package/see/examples/output/digital_product_passport.md +0 -100
- package/see/examples/output/dijkstra.md +0 -74
- package/see/examples/output/dijkstra_risk_path.md +0 -76
- package/see/examples/output/dog.md +0 -50
- package/see/examples/output/eco_route_insight.md +0 -88
- package/see/examples/output/equals.md +0 -50
- package/see/examples/output/equivalence_classes_overlap_implies_same_class.md +0 -86
- package/see/examples/output/euler_identity.md +0 -73
- package/see/examples/output/ev_roundtrip_planner.md +0 -79
- package/see/examples/output/existential_rule.md +0 -54
- package/see/examples/output/expression_eval.md +0 -50
- package/see/examples/output/family_cousins.md +0 -187
- package/see/examples/output/fastpow.md +0 -36
- package/see/examples/output/fibonacci.md +0 -53
- package/see/examples/output/french_cities.md +0 -70
- package/see/examples/output/fundamental_theorem_arithmetic.md +0 -101
- package/see/examples/output/genetic_knapsack_selection.md +0 -66
- package/see/examples/output/goldbach_1000.md +0 -58
- package/see/examples/output/good_cobbler.md +0 -54
- package/see/examples/output/gps.md +0 -102
- package/see/examples/output/gray_code_counter.md +0 -68
- package/see/examples/output/greatest_lower_bound_uniqueness.md +0 -60
- package/see/examples/output/group_inverse_uniqueness.md +0 -60
- package/see/examples/output/hadamard_approx.md +0 -510
- package/see/examples/output/hanoi.md +0 -51
- package/see/examples/output/odrl_dpv_risk_ranked.md +0 -139
- package/see/examples/output/path_discovery.md +0 -65
- package/see/examples/output/rc_discharge_envelope.md +0 -102
- package/see/examples/output/rdf_dataset.md +0 -54
- package/see/examples/output/rdf_message_flow.md +0 -198
- package/see/examples/output/rdf_messages.md +0 -134
- package/see/examples/output/school_placement_audit.md +0 -99
- package/see/examples/output/smoke_arithmetic.md +0 -54
- package/see/examples/output/socrates.md +0 -55
- package/see/examples/output/triple_terms.md +0 -53
- package/see/examples/output/wind_turbine.md +0 -108
- package/see/examples/output/witch.md +0 -87
- package/see/examples/path_discovery.js +0 -1774
- package/see/examples/rc_discharge_envelope.js +0 -1993
- package/see/examples/rdf_dataset.js +0 -1512
- package/see/examples/rdf_message_flow.js +0 -2580
- package/see/examples/rdf_messages.js +0 -2176
- package/see/examples/school_placement_audit.js +0 -1867
- package/see/examples/smoke_arithmetic.js +0 -1483
- package/see/examples/socrates.js +0 -1420
- package/see/examples/triple_terms.js +0 -1442
- package/see/examples/wind_turbine.js +0 -2853
- package/see/examples/witch.js +0 -1519
- package/see/see.js +0 -2179
- package/test/see.test.js +0 -159
- /package/{see/examples/n3/builtin_coverage.n3 → examples/builtin-coverage.n3} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@prefix : <https://eyereasoner.github.io/
|
|
1
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/rdf-messages#> .
|
|
2
2
|
@prefix msg: <https://w3c-cg.github.io/rsp/spec/messages#> .
|
|
3
3
|
@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
4
4
|
@prefix sosa: <http://www.w3.org/ns/sosa/> .
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
@prefix see: <https://example.org/see#> .
|
|
11
11
|
@prefix in: <https://example.org/see/input#> .
|
|
12
12
|
|
|
13
|
-
# Formal
|
|
13
|
+
# Formal Eyeling input evidence in RDF 1.2 TriG.
|
|
14
14
|
# The generated runner reads this TriG evidence directly.
|
|
15
15
|
|
|
16
16
|
:temperatureLog rdf:type msg:MessageLog .
|
|
@@ -59,8 +59,8 @@ in:metadata {
|
|
|
59
59
|
in:run see:title "RDF Messages" .
|
|
60
60
|
in:run see:sourceFile "examples/n3/rdf_messages.n3" .
|
|
61
61
|
in:run see:sourceSHA256 "2ea8b414b92e65531cf384000955ca47811d5b7c779a8d2c9fb007515e745f32" .
|
|
62
|
-
in:run see:description "This
|
|
63
|
-
in:run see:compiler "
|
|
62
|
+
in:run see:description "This Eyeling example models the main idea from\nhttps://pietercolpaert.be/papers/eswc2026-rdf-messages/:\na message stream/log is not just one freely mergeable RDF graph. It is an\nordered sequence of RDF Datasets that are interpreted atomically, one message\nat a time. The middle message is deliberately empty to model a heartbeat, and\nthe local blank-node label \"_:b0\" is deliberately reused by two messages to\nshow message-scoped blank nodes." .
|
|
63
|
+
in:run see:compiler "Eyeling RDF/TriG input sidecar" .
|
|
64
64
|
in:run see:inputFacts 25 .
|
|
65
65
|
in:run see:compiledRules 6 .
|
|
66
66
|
in:run see:compiledBackwardRules 0 .
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
@prefix : <https://eyereasoner.github.io/
|
|
1
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/school-placement-audit#> .
|
|
2
2
|
@prefix math: <http://www.w3.org/2000/10/swap/math#> .
|
|
3
3
|
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
4
4
|
@prefix string: <http://www.w3.org/2000/10/swap/string#> .
|
|
5
5
|
@prefix see: <https://example.org/see#> .
|
|
6
6
|
@prefix in: <https://example.org/see/input#> .
|
|
7
7
|
|
|
8
|
-
# Formal
|
|
8
|
+
# Formal Eyeling input evidence in RDF 1.2 TriG.
|
|
9
9
|
# The generated runner reads this TriG evidence directly.
|
|
10
10
|
|
|
11
11
|
:Policy :maxWalkingMeters 2500 .
|
|
@@ -41,8 +41,8 @@ in:metadata {
|
|
|
41
41
|
in:run see:title "School Placement Route Audit" .
|
|
42
42
|
in:run see:sourceFile "examples/n3/school_placement_audit.n3" .
|
|
43
43
|
in:run see:sourceSHA256 "8bea39b2ea4c3045fed64b6e7adef0ca8cdf8d14c3735e28e831a759dae600fd" .
|
|
44
|
-
in:run see:description "N3
|
|
45
|
-
in:run see:compiler "
|
|
44
|
+
in:run see:description "N3 version of the school placement audit. The original student,\nschool, distance, and policy JSON is preserved as the data-input sidecar." .
|
|
45
|
+
in:run see:compiler "Eyeling RDF/TriG input sidecar" .
|
|
46
46
|
in:run see:inputFacts 26 .
|
|
47
47
|
in:run see:compiledRules 4 .
|
|
48
48
|
in:run see:compiledBackwardRules 0 .
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
@prefix see: <https://example.org/see#> .
|
|
6
6
|
@prefix in: <https://example.org/see/input#> .
|
|
7
7
|
|
|
8
|
-
# Formal
|
|
8
|
+
# Formal Eyeling input evidence in RDF 1.2 TriG.
|
|
9
9
|
# The generated runner reads this TriG evidence directly.
|
|
10
10
|
|
|
11
11
|
:Input :x 6 .
|
|
@@ -17,8 +17,8 @@ in:metadata {
|
|
|
17
17
|
in:run see:title "Smoke Arithmetic" .
|
|
18
18
|
in:run see:sourceFile "examples/n3/smoke_arithmetic.n3" .
|
|
19
19
|
in:run see:sourceSHA256 "e254b8b9be8207c07f29cf30426466e2d916286b5f93ea4385786a5d80303499" .
|
|
20
|
-
in:run see:description "Small Notation3 source used to prove that
|
|
21
|
-
in:run see:compiler "
|
|
20
|
+
in:run see:description "Small Notation3 source used to prove that Eyeling derives its answer from facts, math built-ins, fuses, and string formatting instead of reading a prewritten conclusion." .
|
|
21
|
+
in:run see:compiler "Eyeling RDF/TriG input sidecar" .
|
|
22
22
|
in:run see:inputFacts 2 .
|
|
23
23
|
in:run see:compiledRules 2 .
|
|
24
24
|
in:run see:compiledBackwardRules 0 .
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
VERSION "1.2"
|
|
2
2
|
|
|
3
|
-
@prefix : <https://eyereasoner.github.io/eyeling/
|
|
3
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/triple_terms#> .
|
|
4
4
|
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
5
5
|
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
6
6
|
@prefix see: <https://example.org/see#> .
|
|
7
7
|
@prefix in: <https://example.org/see/input#> .
|
|
8
8
|
|
|
9
|
-
# Formal
|
|
9
|
+
# Formal Eyeling input evidence in RDF 1.2 TriG.
|
|
10
10
|
# The generated runner reads this TriG evidence directly.
|
|
11
11
|
|
|
12
12
|
:observation rdf:reifies <<( :sensor :reports :overheating )>> .
|
|
@@ -19,7 +19,7 @@ in:metadata {
|
|
|
19
19
|
in:run see:sourceFile "examples/n3/triple_terms.n3" .
|
|
20
20
|
in:run see:sourceSHA256 "f94fae1b4087f790c085c4dd1570875694238a882213951b457480ee26c06944" .
|
|
21
21
|
in:run see:description "Demonstrates RDF 1.2 TriG triple terms as input evidence and as a derived entailment." .
|
|
22
|
-
in:run see:compiler "
|
|
22
|
+
in:run see:compiler "Eyeling RDF/TriG input sidecar" .
|
|
23
23
|
in:run see:inputFacts 2 .
|
|
24
24
|
in:run see:compiledRules 1 .
|
|
25
25
|
in:run see:compiledBackwardRules 0 .
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
@prefix : <http://example.org/#> .
|
|
2
|
+
|
|
3
|
+
:association :subject :Bob .
|
|
4
|
+
:association :dataGraph _:src2_g0 .
|
|
5
|
+
:association :signatureGraph _:src2_g1 .
|
|
6
|
+
:association :metadataGraph _:src2_g3 .
|
|
7
|
+
:association :cryptosuite "ecdsa-rdfc-2019" .
|
|
8
|
+
:association :issuer <https://university.example/issuers/14> .
|
|
9
|
+
:association :status :contextAssociationVerified .
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
=== Answer ===
|
|
2
|
+
exact decay symbol : exp(-1/4)
|
|
3
|
+
certified decay interval : [0.7788007830, 0.7788007831]
|
|
4
|
+
first below tolerance step : 13
|
|
5
|
+
first below tolerance time : 0.325 s
|
|
6
|
+
upper voltage at step 13 : 0.930581 V
|
|
7
|
+
|
|
8
|
+
=== Explanation ===
|
|
9
|
+
The physical decay factor is exp(-1/4), but the example uses a finite double interval as the certificate. Because the interval lies strictly between 0 and 1, the capacitor voltage envelope contracts each sample. The upper envelope is the safety-relevant bound: once it falls below 1.0 V, every compatible exact trajectory is below tolerance.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
=== Answer ===
|
|
2
|
+
exact decay symbol : exp(-1/4)
|
|
3
|
+
certified decay interval : [0.7788007830, 0.7788007831]
|
|
4
|
+
first below tolerance step : 13
|
|
5
|
+
first below tolerance time : 0.325 s
|
|
6
|
+
upper voltage at step 13 : 0.930581 V
|
|
7
|
+
|
|
8
|
+
=== Explanation ===
|
|
9
|
+
The physical decay factor is exp(-1/4), but the example uses a finite double interval as the certificate. Because the interval lies strictly between 0 and 1, the capacitor voltage envelope contracts each sample. The upper envelope is the safety-relevant bound: once it falls below 1.0 V, every compatible exact trajectory is below tolerance.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/rdf-message-flow#> .
|
|
2
|
+
|
|
3
|
+
:rdfMessageFlowExample :demonstrates :ContinuousFlow .
|
|
4
|
+
:rdfMessageFlowExample :demonstrates :BackPressureRelease .
|
|
5
|
+
:rdfMessageFlowExample :demonstrates :AtomicMessageContext .
|
|
6
|
+
:rdfMessageFlowExample :demonstrates :HeartbeatInFlow .
|
|
7
|
+
:rdfMessageFlowExample :demonstrates :ThresholdRouting .
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/rdf-messages#> .
|
|
2
|
+
|
|
3
|
+
:rdfMessagesExample :demonstrates :ExplicitBoundaries .
|
|
4
|
+
:rdfMessagesExample :demonstrates :AtomicMessageContext .
|
|
5
|
+
:rdfMessagesExample :demonstrates :EmptyHeartbeat .
|
|
6
|
+
:rdfMessagesExample :demonstrates :MessageScopedBlankNodes .
|
|
7
|
+
:rdfMessagesExample :demonstrates :ReplayableMessageLog .
|
|
@@ -2,26 +2,13 @@
|
|
|
2
2
|
# RC Discharge Envelope
|
|
3
3
|
# =====================
|
|
4
4
|
# Certify when a sampled RC capacitor is guaranteed below tolerance using an
|
|
5
|
-
# upper decay bound. The witness is derived by N3 rules and
|
|
5
|
+
# upper decay bound. The witness is derived by N3 rules and run by Eyeling.
|
|
6
6
|
|
|
7
|
-
@prefix : <https://eyereasoner.github.io/
|
|
7
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/rc-discharge-envelope#>.
|
|
8
8
|
@prefix math: <http://www.w3.org/2000/10/swap/math#>.
|
|
9
9
|
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
|
|
10
10
|
@prefix string: <http://www.w3.org/2000/10/swap/string#>.
|
|
11
11
|
|
|
12
|
-
:case
|
|
13
|
-
:samplePeriod 0.025;
|
|
14
|
-
:exactDecaySymbol "exp(-1/4)";
|
|
15
|
-
:decayLower 0.778800783;
|
|
16
|
-
:decayUpper 0.7788007831;
|
|
17
|
-
:initialVoltage 24.0;
|
|
18
|
-
:tolerance 1.0;
|
|
19
|
-
:maxStep 18;
|
|
20
|
-
:candidateStep :step12, :step13.
|
|
21
|
-
|
|
22
|
-
:step12 :index 12.
|
|
23
|
-
:step13 :index 13; :previousStep :step12.
|
|
24
|
-
|
|
25
12
|
{
|
|
26
13
|
:case :initialVoltage ?Initial; :decayUpper ?DecayUpper; :candidateStep ?Step.
|
|
27
14
|
?Step :index ?Index.
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
# RDF dataset compatibility
|
|
2
|
-
# RDF 1.1 named graph data and RDF 1.2 triple terms are normalized to ordinary N3 graph terms before
|
|
2
|
+
# RDF 1.1 named graph data and RDF 1.2 triple terms are normalized to ordinary N3 graph terms before Eyeling reads the derivation.
|
|
3
3
|
|
|
4
4
|
VERSION "1.2"
|
|
5
|
-
@prefix : <https://eyereasoner.github.io/
|
|
5
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/rdf-dataset#> .
|
|
6
6
|
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
7
7
|
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
8
8
|
|
|
9
|
-
:sensor :reports :overheating .
|
|
10
|
-
:overheating :requires :inspection .
|
|
11
|
-
:maintenanceSystem :trusted true .
|
|
12
|
-
|
|
13
|
-
:factoryDataset {
|
|
14
|
-
:observation rdf:reifies <<( :sensor :reports :overheating )>> .
|
|
15
|
-
:observation :recordedBy :maintenanceSystem .
|
|
16
|
-
}
|
|
17
|
-
|
|
18
9
|
{
|
|
19
10
|
:sensor :reports ?condition .
|
|
20
11
|
?condition :requires ?action .
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# stream behaves as an ordered, replayable flow rather than a single merged RDF
|
|
8
8
|
# graph.
|
|
9
9
|
|
|
10
|
-
@prefix : <https://eyereasoner.github.io/
|
|
10
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/rdf-message-flow#>.
|
|
11
11
|
@prefix msg: <https://example.org/msg#>.
|
|
12
12
|
@prefix prov: <http://www.w3.org/ns/prov#>.
|
|
13
13
|
@prefix sosa: <http://www.w3.org/ns/sosa/>.
|
|
@@ -17,85 +17,18 @@
|
|
|
17
17
|
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
|
|
18
18
|
@prefix string: <http://www.w3.org/2000/10/swap/string#>.
|
|
19
19
|
|
|
20
|
-
:temperatureFlow
|
|
21
|
-
a msg:MessageStream;
|
|
22
|
-
msg:orderedMessages (:m001 :m002 :m003 :m004 :m005);
|
|
23
|
-
msg:message :m001, :m002, :m003, :m004, :m005;
|
|
24
|
-
:pipeline (:ingest :validate :interpret :route :sink);
|
|
25
|
-
:highThreshold 26.
|
|
26
20
|
|
|
27
21
|
# The stream starts with just the first message at ingress. Later messages are
|
|
28
22
|
# not pre-loaded; each one is released by the previous message after sink.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
:m001
|
|
32
|
-
a msg:RDFMessage;
|
|
33
|
-
msg:offset 1;
|
|
34
|
-
msg:nextMessage :m002;
|
|
35
|
-
prov:generatedAtTime "2026-05-12T18:20:00Z"^^xsd:dateTime;
|
|
36
|
-
msg:payloadKind :observation;
|
|
37
|
-
msg:expectedResult 21;
|
|
38
|
-
msg:payload {
|
|
39
|
-
_:m001b0
|
|
40
|
-
a sosa:Observation;
|
|
41
|
-
sosa:madeBySensor :thermometerA;
|
|
42
|
-
sosa:resultTime "2026-05-12T18:20:00Z"^^xsd:dateTime;
|
|
43
|
-
sosa:hasSimpleResult 21.
|
|
44
|
-
}.
|
|
45
|
-
|
|
46
|
-
:m002
|
|
47
|
-
a msg:RDFMessage;
|
|
48
|
-
msg:offset 2;
|
|
49
|
-
msg:nextMessage :m003;
|
|
50
|
-
prov:generatedAtTime "2026-05-12T18:21:00Z"^^xsd:dateTime;
|
|
51
|
-
msg:payloadKind :observation;
|
|
52
|
-
msg:expectedResult 22;
|
|
53
|
-
msg:payload {
|
|
54
|
-
_:m002b0
|
|
55
|
-
a sosa:Observation;
|
|
56
|
-
sosa:madeBySensor :thermometerA;
|
|
57
|
-
sosa:resultTime "2026-05-12T18:21:00Z"^^xsd:dateTime;
|
|
58
|
-
sosa:hasSimpleResult 22.
|
|
59
|
-
}.
|
|
23
|
+
|
|
24
|
+
|
|
60
25
|
|
|
61
26
|
# Empty heartbeat: it flows through the same pipeline and keeps the stream live.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
msg:offset 3;
|
|
65
|
-
msg:nextMessage :m004;
|
|
66
|
-
prov:generatedAtTime "2026-05-12T18:22:00Z"^^xsd:dateTime;
|
|
67
|
-
msg:payloadKind :heartbeat.
|
|
68
|
-
|
|
69
|
-
:m004
|
|
70
|
-
a msg:RDFMessage;
|
|
71
|
-
msg:offset 4;
|
|
72
|
-
msg:nextMessage :m005;
|
|
73
|
-
prov:generatedAtTime "2026-05-12T18:23:00Z"^^xsd:dateTime;
|
|
74
|
-
msg:payloadKind :observation;
|
|
75
|
-
msg:expectedResult 28;
|
|
76
|
-
msg:payload {
|
|
77
|
-
_:m004b0
|
|
78
|
-
a sosa:Observation;
|
|
79
|
-
sosa:madeBySensor :thermometerA;
|
|
80
|
-
sosa:resultTime "2026-05-12T18:23:00Z"^^xsd:dateTime;
|
|
81
|
-
sosa:hasSimpleResult 28.
|
|
82
|
-
}.
|
|
83
|
-
|
|
84
|
-
:m005
|
|
85
|
-
a msg:RDFMessage;
|
|
86
|
-
msg:offset 5;
|
|
87
|
-
prov:generatedAtTime "2026-05-12T18:24:00Z"^^xsd:dateTime;
|
|
88
|
-
msg:payloadKind :observation;
|
|
89
|
-
msg:expectedResult 29;
|
|
90
|
-
msg:payload {
|
|
91
|
-
_:m005b0
|
|
92
|
-
a sosa:Observation;
|
|
93
|
-
sosa:madeBySensor :thermometerA;
|
|
94
|
-
sosa:resultTime "2026-05-12T18:24:00Z"^^xsd:dateTime;
|
|
95
|
-
sosa:hasSimpleResult 29.
|
|
96
|
-
}.
|
|
27
|
+
|
|
28
|
+
|
|
97
29
|
|
|
98
30
|
# Stage 1: once a message has entered the stream, validate its envelope.
|
|
31
|
+
|
|
99
32
|
{ ?Message :atStage :ingest. } => {
|
|
100
33
|
?Message :atStage :validate.
|
|
101
34
|
}.
|
|
@@ -116,7 +49,8 @@
|
|
|
116
49
|
msg:payloadKind :observation;
|
|
117
50
|
msg:expectedResult ?Result;
|
|
118
51
|
msg:payload ?Payload.
|
|
119
|
-
?Payload log:
|
|
52
|
+
?Payload log:nameOf ?PayloadContext.
|
|
53
|
+
?PayloadContext log:includes { ?Observation sosa:hasSimpleResult ?Result. }.
|
|
120
54
|
} => {
|
|
121
55
|
?Message msg:payloadResult ?Result.
|
|
122
56
|
?Message :atStage :route.
|
|
@@ -175,7 +109,7 @@
|
|
|
175
109
|
?Next :atStage :ingest.
|
|
176
110
|
}.
|
|
177
111
|
|
|
178
|
-
# The
|
|
112
|
+
# The Eyeling verdict is emitted only after all five messages have flowed through
|
|
179
113
|
# ingest, validation, interpretation, routing, and sink.
|
|
180
114
|
{
|
|
181
115
|
:temperatureFlow msg:orderedMessages ?Messages;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# ============
|
|
2
2
|
# RDF Messages
|
|
3
3
|
# ============
|
|
4
|
-
# This
|
|
4
|
+
# This Eyeling example models the main idea from
|
|
5
5
|
# https://pietercolpaert.be/papers/eswc2026-rdf-messages/:
|
|
6
6
|
# a message stream/log is not just one freely mergeable RDF graph. It is an
|
|
7
7
|
# ordered sequence of RDF Datasets that are interpreted atomically, one message
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
# the local blank-node label "_:b0" is deliberately reused by two messages to
|
|
10
10
|
# show message-scoped blank nodes.
|
|
11
11
|
|
|
12
|
-
@prefix : <https://eyereasoner.github.io/
|
|
12
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/rdf-messages#>.
|
|
13
13
|
@prefix msg: <https://w3c-cg.github.io/rsp/spec/messages#>.
|
|
14
14
|
@prefix prov: <http://www.w3.org/ns/prov#>.
|
|
15
15
|
@prefix sosa: <http://www.w3.org/ns/sosa/>.
|
|
@@ -19,51 +19,13 @@
|
|
|
19
19
|
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
|
|
20
20
|
@prefix string: <http://www.w3.org/2000/10/swap/string#>.
|
|
21
21
|
|
|
22
|
-
:temperatureLog
|
|
23
|
-
a msg:MessageLog;
|
|
24
|
-
msg:orderedMessages (:m001 :m002 :m003);
|
|
25
|
-
msg:message :m001, :m002, :m003;
|
|
26
|
-
msg:profile :generatedAtTimeProfile;
|
|
27
|
-
msg:retentionPolicy "replayable archive".
|
|
28
22
|
|
|
29
|
-
:m001
|
|
30
|
-
a msg:RDFMessage;
|
|
31
|
-
msg:offset 1;
|
|
32
|
-
prov:generatedAtTime "2026-05-12T18:20:00Z"^^xsd:dateTime;
|
|
33
|
-
msg:payloadKind :observation;
|
|
34
|
-
msg:localBlankLabel "_:b0";
|
|
35
|
-
msg:expectedResult 22;
|
|
36
|
-
msg:payload {
|
|
37
|
-
_:m001b0
|
|
38
|
-
a sosa:Observation;
|
|
39
|
-
sosa:madeBySensor :thermometerA;
|
|
40
|
-
sosa:resultTime "2026-05-12T18:20:00Z"^^xsd:dateTime;
|
|
41
|
-
sosa:hasSimpleResult 22.
|
|
42
|
-
}.
|
|
43
23
|
|
|
44
24
|
# Empty RDF Message: a legal heartbeat/keep-alive event.
|
|
45
|
-
:m002
|
|
46
|
-
a msg:RDFMessage;
|
|
47
|
-
msg:offset 2;
|
|
48
|
-
prov:generatedAtTime "2026-05-12T18:22:00Z"^^xsd:dateTime;
|
|
49
|
-
msg:payloadKind :heartbeat.
|
|
50
25
|
|
|
51
|
-
:m003
|
|
52
|
-
a msg:RDFMessage;
|
|
53
|
-
msg:offset 3;
|
|
54
|
-
prov:generatedAtTime "2026-05-12T18:25:00Z"^^xsd:dateTime;
|
|
55
|
-
msg:payloadKind :observation;
|
|
56
|
-
msg:localBlankLabel "_:b0";
|
|
57
|
-
msg:expectedResult 23;
|
|
58
|
-
msg:payload {
|
|
59
|
-
_:m003b0
|
|
60
|
-
a sosa:Observation;
|
|
61
|
-
sosa:madeBySensor :thermometerA;
|
|
62
|
-
sosa:resultTime "2026-05-12T18:25:00Z"^^xsd:dateTime;
|
|
63
|
-
sosa:hasSimpleResult 23.
|
|
64
|
-
}.
|
|
65
26
|
|
|
66
27
|
# A message with an offset inside a log has an explicit replay boundary.
|
|
28
|
+
|
|
67
29
|
{
|
|
68
30
|
?Log a msg:MessageLog;
|
|
69
31
|
msg:message ?Message.
|
|
@@ -80,7 +42,8 @@
|
|
|
80
42
|
?Message a msg:RDFMessage;
|
|
81
43
|
msg:expectedResult ?Result;
|
|
82
44
|
msg:payload ?Payload.
|
|
83
|
-
?Payload log:
|
|
45
|
+
?Payload log:nameOf ?PayloadContext.
|
|
46
|
+
?PayloadContext log:includes { ?Observation sosa:hasSimpleResult ?Result. }.
|
|
84
47
|
} => {
|
|
85
48
|
?Message msg:payloadResult ?Result.
|
|
86
49
|
}.
|
|
@@ -120,7 +83,7 @@
|
|
|
120
83
|
:MessageContext :differentObservationsStayContextual true.
|
|
121
84
|
}.
|
|
122
85
|
|
|
123
|
-
# The
|
|
86
|
+
# The Eyeling verdict is emitted only when all message-specific validations have been
|
|
124
87
|
# derived from the log, message metadata, payload formulas, and built-ins.
|
|
125
88
|
{
|
|
126
89
|
:temperatureLog msg:orderedMessages ?Messages.
|
|
@@ -1,26 +1,14 @@
|
|
|
1
1
|
# ============================
|
|
2
2
|
# School Placement Route Audit
|
|
3
3
|
# ============================
|
|
4
|
-
# N3
|
|
4
|
+
# N3 version of the school placement audit. The original student,
|
|
5
5
|
# school, distance, and policy JSON is preserved as the data-input sidecar.
|
|
6
6
|
|
|
7
|
-
@prefix : <https://eyereasoner.github.io/
|
|
7
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/school-placement-audit#>.
|
|
8
8
|
@prefix math: <http://www.w3.org/2000/10/swap/math#>.
|
|
9
9
|
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
|
|
10
10
|
@prefix string: <http://www.w3.org/2000/10/swap/string#>.
|
|
11
11
|
|
|
12
|
-
:Policy :maxWalkingMeters 2500; :preferencePenaltyMeters 600.
|
|
13
|
-
|
|
14
|
-
:Ada :name "Ada"; :provisional :Centrum; :auditedBest :Lindholmen; :hiddenDetour 3000; :walkingMeters 3600.
|
|
15
|
-
:Bjorn :name "Björn"; :provisional :Centrum; :auditedBest :Backa; :hiddenDetour 2000; :walkingMeters 3100.
|
|
16
|
-
:Clara :name "Clara"; :provisional :Haga; :auditedBest :Haga; :hiddenDetour 150; :walkingMeters 800.
|
|
17
|
-
:Davi :name "Davi"; :provisional :Centrum; :auditedBest :Haga; :hiddenDetour 1800; :walkingMeters 2800.
|
|
18
|
-
|
|
19
|
-
:Lindholmen :label "Lindholmen".
|
|
20
|
-
:Haga :label "Haga".
|
|
21
|
-
:Centrum :label "Centrum".
|
|
22
|
-
:Backa :label "Backa".
|
|
23
|
-
|
|
24
12
|
{
|
|
25
13
|
?Student :provisional ?Provisional; :auditedBest ?Audited; :walkingMeters ?Walk.
|
|
26
14
|
:Policy :maxWalkingMeters ?MaxWalking.
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
# Smoke Arithmetic
|
|
2
|
-
# Small Notation3 source used to prove that
|
|
3
|
-
#
|
|
4
|
-
#
|
|
2
|
+
# Small Notation3 source used to prove that Eyeling derives its answer from
|
|
3
|
+
# facts, math built-ins, fuses, and string formatting instead of reading a
|
|
4
|
+
# prewritten conclusion.
|
|
5
5
|
|
|
6
6
|
@prefix : <https://example.org/see/smoke#>.
|
|
7
7
|
@prefix math: <http://www.w3.org/2000/10/swap/math#>.
|
|
8
8
|
@prefix string: <http://www.w3.org/2000/10/swap/string#>.
|
|
9
9
|
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
|
|
10
10
|
|
|
11
|
-
:Input :x 6; :y 7.
|
|
12
|
-
|
|
13
11
|
{ :Input :x ?X; :y ?Y.
|
|
14
12
|
(?X ?Y) math:product ?Product.
|
|
15
13
|
?Product math:greaterThan 0.
|
|
@@ -4,13 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
VERSION "1.2"
|
|
6
6
|
|
|
7
|
-
@prefix : <https://eyereasoner.github.io/eyeling/
|
|
7
|
+
@prefix : <https://eyereasoner.github.io/eyeling/examples/triple_terms#> .
|
|
8
8
|
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
9
9
|
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
10
10
|
|
|
11
|
-
:observation rdf:reifies <<( :sensor :reports :overheating )>> .
|
|
12
|
-
:overheating :requires :inspection .
|
|
13
|
-
|
|
14
11
|
{
|
|
15
12
|
?observation rdf:reifies <<( ?device :reports ?condition )>> .
|
|
16
13
|
?condition :requires ?action .
|
package/eyeling.js
CHANGED
|
@@ -4249,6 +4249,12 @@ function isBuiltinPred(p) {
|
|
|
4249
4249
|
return v === LOG_NS + 'implies' || v === LOG_NS + 'impliedBy';
|
|
4250
4250
|
}
|
|
4251
4251
|
|
|
4252
|
+
// log:nameOf is the ordinary fact predicate used by the RDF/TriG
|
|
4253
|
+
// compatibility layer for named graph blocks. It must remain matchable
|
|
4254
|
+
// against extensional facts instead of being swallowed as an unimplemented
|
|
4255
|
+
// log:* builtin.
|
|
4256
|
+
if (v === LOG_NS + 'nameOf') return false;
|
|
4257
|
+
|
|
4252
4258
|
// Treat RDF Collections as list-term builtins too.
|
|
4253
4259
|
if (v === RDF_NS + 'first' || v === RDF_NS + 'rest') {
|
|
4254
4260
|
return true;
|
package/lib/builtins.js
CHANGED
|
@@ -4238,6 +4238,12 @@ function isBuiltinPred(p) {
|
|
|
4238
4238
|
return v === LOG_NS + 'implies' || v === LOG_NS + 'impliedBy';
|
|
4239
4239
|
}
|
|
4240
4240
|
|
|
4241
|
+
// log:nameOf is the ordinary fact predicate used by the RDF/TriG
|
|
4242
|
+
// compatibility layer for named graph blocks. It must remain matchable
|
|
4243
|
+
// against extensional facts instead of being swallowed as an unimplemented
|
|
4244
|
+
// log:* builtin.
|
|
4245
|
+
if (v === LOG_NS + 'nameOf') return false;
|
|
4246
|
+
|
|
4241
4247
|
// Treat RDF Collections as list-term builtins too.
|
|
4242
4248
|
if (v === RDF_NS + 'first' || v === RDF_NS + 'rest') {
|
|
4243
4249
|
return true;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eyeling",
|
|
3
|
-
"version": "1.24.
|
|
3
|
+
"version": "1.24.6",
|
|
4
4
|
"description": "A minimal Notation3 (N3) reasoner in JavaScript.",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"keywords": [
|
|
@@ -31,26 +31,23 @@
|
|
|
31
31
|
"lib",
|
|
32
32
|
"test",
|
|
33
33
|
"tools",
|
|
34
|
-
"examples"
|
|
35
|
-
"see"
|
|
34
|
+
"examples"
|
|
36
35
|
],
|
|
37
36
|
"engines": {
|
|
38
37
|
"node": ">=18"
|
|
39
38
|
},
|
|
40
39
|
"scripts": {
|
|
41
40
|
"prebuild": "eslint . --fix",
|
|
42
|
-
"
|
|
43
|
-
"build": "npm run generate && node tools/bundle.js",
|
|
41
|
+
"build": "node tools/bundle.js",
|
|
44
42
|
"test:packlist": "node test/packlist.test.js",
|
|
45
43
|
"test:api": "node test/api.test.js",
|
|
46
44
|
"test:builtins": "node test/builtins.test.js",
|
|
47
45
|
"test:examples": "node test/examples.test.js",
|
|
48
|
-
"test:see": "node test/see.test.js",
|
|
49
46
|
"test:manifest": "node test/manifest.test.js",
|
|
50
47
|
"test:playground": "node test/playground.test.js",
|
|
51
48
|
"test:package": "node test/package.test.js",
|
|
52
49
|
"pretest": "npm run build && npm run test:packlist",
|
|
53
|
-
"test": "npm run test:api && npm run test:builtins && npm run test:examples && npm run test:
|
|
50
|
+
"test": "npm run test:api && npm run test:builtins && npm run test:examples && npm run test:manifest && npm run test:playground",
|
|
54
51
|
"posttest": "npm run test:package",
|
|
55
52
|
"preversion": "npm test",
|
|
56
53
|
"postversion": "git push origin HEAD --follow-tags"
|