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.
- 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,134 +0,0 @@
|
|
|
1
|
-
# RDF Messages
|
|
2
|
-
|
|
3
|
-
## Entailment
|
|
4
|
-
RDF Message log accepted: 3 explicit message boundaries are preserved. Message :m002 is an empty heartbeat, and the local blank-node label _:b0 is safely reused in separate messages.
|
|
5
|
-
|
|
6
|
-
## Explanation
|
|
7
|
-
The N3 source models an RDF Message Log as an ordered sequence of RDF Messages. Each non-empty message has a formula-valued payload that is inspected with log:includes, so the observation data stays inside the message boundary instead of being treated as one global graph. The two temperature results, 22 and 23, are different observations from the same stream but are contextualized by their message boundaries.
|
|
8
|
-
|
|
9
|
-
**Generated derivation support**
|
|
10
|
-
|
|
11
|
-
Compiled support: 25 source fact(s), 6 rule(s), fixpoint reached before rendering.
|
|
12
|
-
|
|
13
|
-
Derivation steps:
|
|
14
|
-
- Rule 1 (4 premise pattern(s) => 2 conclusion pattern(s)) derives :m001 msg:boundaryExplicit true ., :temperatureLog msg:replayContains :m001 ., :m002 msg:boundaryExplicit true ., :temperatureLog msg:replayContains :m002 ., … +2 more
|
|
15
|
-
- Uses: :temperatureLog rdf:type msg:MessageLog . _(source)_; :temperatureLog msg:message :m001 . _(source)_; :m001 rdf:type msg:RDFMessage . _(source)_; :m001 msg:offset 1 . _(source)_; … +6 more premise fact(s)
|
|
16
|
-
- Rule 2 (4 premise pattern(s) => 1 conclusion pattern(s)) derives :m001 msg:payloadResult 22 ., :m003 msg:payloadResult 23 .
|
|
17
|
-
- Uses: :m001 rdf:type msg:RDFMessage . _(source)_; :m001 msg:expectedResult 22 . _(source)_; :m001 msg:payload { _:m001b0 rdf:type sosa:Observation . _:m001b0 sosa:madeBySensor :thermometerA . _:m001b0 sosa:resultTime "2026-05-12T18:20:00Z" . _:m001b0 sosa:hasSimpleResult 22 } . _(source)_; :m003 rdf:type msg:RDFMessage . _(source)_; … +2 more premise fact(s)
|
|
18
|
-
- Rule 3: ?Message rdf:type msg:RDFMessage; ?Message msg:payloadKind :heartbeat => ?Message msg:emptyMessageAllowed true; :HeartbeatEvidence :accepted ?Message derives :m002 msg:emptyMessageAllowed true ., :HeartbeatEvidence :accepted :m002 .
|
|
19
|
-
- Uses: :m002 rdf:type msg:RDFMessage . _(source)_; :m002 msg:payloadKind :heartbeat . _(source)_
|
|
20
|
-
- Rule 4 (5 premise pattern(s) => 2 conclusion pattern(s)) derives :BlankNodeScope :reusedLabel "_:b0" ., :BlankNodeScope :isPerMessage true .
|
|
21
|
-
- Uses: :m001 rdf:type msg:RDFMessage . _(source)_; :m001 msg:localBlankLabel "_:b0" . _(source)_; :m003 rdf:type msg:RDFMessage . _(source)_; :m003 msg:localBlankLabel "_:b0" . _(source)_
|
|
22
|
-
- Rule 5 (6 premise pattern(s) => 1 conclusion pattern(s)) derives :MessageContext :differentObservationsStayContextual true .
|
|
23
|
-
- Uses: :m001 rdf:type msg:RDFMessage . _(source)_; :m001 msg:payloadResult 22 . _(derived)_; :m003 rdf:type msg:RDFMessage . _(source)_; :m003 msg:payloadResult 23 . _(derived)_
|
|
24
|
-
- Rule 6 (12 premise pattern(s) => 6 conclusion pattern(s)) derives :rdfMessagesExample log:outputString "[authored report]" ., :rdfMessagesExample :demonstrates :ExplicitBoundaries ., :rdfMessagesExample :demonstrates :AtomicMessageContext ., :rdfMessagesExample :demonstrates :EmptyHeartbeat ., … +2 more
|
|
25
|
-
- Uses: :temperatureLog msg:orderedMessages (:m001 :m002 :m003) . _(source)_; :m001 msg:boundaryExplicit true . _(derived)_; :m001 msg:payloadResult 22 . _(derived)_; :m002 msg:boundaryExplicit true . _(derived)_; … +6 more premise fact(s)
|
|
26
|
-
|
|
27
|
-
Selected explanation support:
|
|
28
|
-
- :rdfMessagesExample :demonstrates :ReplayableMessageLog . _(derived by Rule 6)_
|
|
29
|
-
- :temperatureLog msg:orderedMessages (:m001 :m002 :m003) . _(source)_
|
|
30
|
-
- :m001 msg:boundaryExplicit true . _(derived by Rule 1)_
|
|
31
|
-
- :temperatureLog rdf:type msg:MessageLog . _(source)_
|
|
32
|
-
- :temperatureLog msg:message :m001 . _(source)_
|
|
33
|
-
- :m001 rdf:type msg:RDFMessage . _(source)_
|
|
34
|
-
- :m001 msg:offset 1 . _(source)_
|
|
35
|
-
- :m001 msg:payloadResult 22 . _(derived by Rule 2)_
|
|
36
|
-
- :m001 rdf:type msg:RDFMessage . _(source)_
|
|
37
|
-
- :m001 msg:expectedResult 22 . _(source)_
|
|
38
|
-
- :m001 msg:payload { _:m001b0 rdf:type sosa:Observation . _:m001b0 sosa:madeBySensor :thermometerA . _:m001b0 sosa:resultTime "2026-05-12T18:20:00Z" . _:m001b0 sosa:hasSimpleResult 22 } . _(source)_
|
|
39
|
-
- :m002 msg:boundaryExplicit true . _(derived by Rule 1)_
|
|
40
|
-
- :temperatureLog rdf:type msg:MessageLog . _(source)_
|
|
41
|
-
- :temperatureLog msg:message :m002 . _(source)_
|
|
42
|
-
- :m002 rdf:type msg:RDFMessage . _(source)_
|
|
43
|
-
- :m002 msg:offset 2 . _(source)_
|
|
44
|
-
- ... 6 more premise fact(s)
|
|
45
|
-
- :rdfMessagesExample :demonstrates :MessageScopedBlankNodes . _(derived by Rule 6)_
|
|
46
|
-
- :temperatureLog msg:orderedMessages (:m001 :m002 :m003) . _(source)_
|
|
47
|
-
- :m001 msg:boundaryExplicit true . _(derived by Rule 1)_
|
|
48
|
-
- :temperatureLog rdf:type msg:MessageLog . _(source)_
|
|
49
|
-
- :temperatureLog msg:message :m001 . _(source)_
|
|
50
|
-
- :m001 rdf:type msg:RDFMessage . _(source)_
|
|
51
|
-
- :m001 msg:offset 1 . _(source)_
|
|
52
|
-
- :m001 msg:payloadResult 22 . _(derived by Rule 2)_
|
|
53
|
-
- :m001 rdf:type msg:RDFMessage . _(source)_
|
|
54
|
-
- :m001 msg:expectedResult 22 . _(source)_
|
|
55
|
-
- :m001 msg:payload { _:m001b0 rdf:type sosa:Observation . _:m001b0 sosa:madeBySensor :thermometerA . _:m001b0 sosa:resultTime "2026-05-12T18:20:00Z" . _:m001b0 sosa:hasSimpleResult 22 } . _(source)_
|
|
56
|
-
- :m002 msg:boundaryExplicit true . _(derived by Rule 1)_
|
|
57
|
-
- :temperatureLog rdf:type msg:MessageLog . _(source)_
|
|
58
|
-
- :temperatureLog msg:message :m002 . _(source)_
|
|
59
|
-
- :m002 rdf:type msg:RDFMessage . _(source)_
|
|
60
|
-
- :m002 msg:offset 2 . _(source)_
|
|
61
|
-
- ... 6 more premise fact(s)
|
|
62
|
-
- :rdfMessagesExample :demonstrates :EmptyHeartbeat . _(derived by Rule 6)_
|
|
63
|
-
- :temperatureLog msg:orderedMessages (:m001 :m002 :m003) . _(source)_
|
|
64
|
-
- :m001 msg:boundaryExplicit true . _(derived by Rule 1)_
|
|
65
|
-
- :temperatureLog rdf:type msg:MessageLog . _(source)_
|
|
66
|
-
- :temperatureLog msg:message :m001 . _(source)_
|
|
67
|
-
- :m001 rdf:type msg:RDFMessage . _(source)_
|
|
68
|
-
- :m001 msg:offset 1 . _(source)_
|
|
69
|
-
- :m001 msg:payloadResult 22 . _(derived by Rule 2)_
|
|
70
|
-
- :m001 rdf:type msg:RDFMessage . _(source)_
|
|
71
|
-
- :m001 msg:expectedResult 22 . _(source)_
|
|
72
|
-
- :m001 msg:payload { _:m001b0 rdf:type sosa:Observation . _:m001b0 sosa:madeBySensor :thermometerA . _:m001b0 sosa:resultTime "2026-05-12T18:20:00Z" . _:m001b0 sosa:hasSimpleResult 22 } . _(source)_
|
|
73
|
-
- :m002 msg:boundaryExplicit true . _(derived by Rule 1)_
|
|
74
|
-
- :temperatureLog rdf:type msg:MessageLog . _(source)_
|
|
75
|
-
- :temperatureLog msg:message :m002 . _(source)_
|
|
76
|
-
- :m002 rdf:type msg:RDFMessage . _(source)_
|
|
77
|
-
- :m002 msg:offset 2 . _(source)_
|
|
78
|
-
- ... 6 more premise fact(s)
|
|
79
|
-
- :rdfMessagesExample :demonstrates :AtomicMessageContext . _(derived by Rule 6)_
|
|
80
|
-
- :temperatureLog msg:orderedMessages (:m001 :m002 :m003) . _(source)_
|
|
81
|
-
- :m001 msg:boundaryExplicit true . _(derived by Rule 1)_
|
|
82
|
-
- :temperatureLog rdf:type msg:MessageLog . _(source)_
|
|
83
|
-
- :temperatureLog msg:message :m001 . _(source)_
|
|
84
|
-
- :m001 rdf:type msg:RDFMessage . _(source)_
|
|
85
|
-
- :m001 msg:offset 1 . _(source)_
|
|
86
|
-
- :m001 msg:payloadResult 22 . _(derived by Rule 2)_
|
|
87
|
-
- :m001 rdf:type msg:RDFMessage . _(source)_
|
|
88
|
-
- :m001 msg:expectedResult 22 . _(source)_
|
|
89
|
-
- :m001 msg:payload { _:m001b0 rdf:type sosa:Observation . _:m001b0 sosa:madeBySensor :thermometerA . _:m001b0 sosa:resultTime "2026-05-12T18:20:00Z" . _:m001b0 sosa:hasSimpleResult 22 } . _(source)_
|
|
90
|
-
- :m002 msg:boundaryExplicit true . _(derived by Rule 1)_
|
|
91
|
-
- :temperatureLog rdf:type msg:MessageLog . _(source)_
|
|
92
|
-
- :temperatureLog msg:message :m002 . _(source)_
|
|
93
|
-
- :m002 rdf:type msg:RDFMessage . _(source)_
|
|
94
|
-
- :m002 msg:offset 2 . _(source)_
|
|
95
|
-
- ... 6 more premise fact(s)
|
|
96
|
-
|
|
97
|
-
## Formal TriG Output
|
|
98
|
-
|
|
99
|
-
```trig
|
|
100
|
-
@prefix : <https://eyereasoner.github.io/see/examples/rdf-messages#> .
|
|
101
|
-
@prefix msg: <https://w3c-cg.github.io/rsp/spec/messages#> .
|
|
102
|
-
@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
103
|
-
@prefix sosa: <http://www.w3.org/ns/sosa/> .
|
|
104
|
-
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
105
|
-
@prefix math: <http://www.w3.org/2000/10/swap/math#> .
|
|
106
|
-
@prefix list: <http://www.w3.org/2000/10/swap/list#> .
|
|
107
|
-
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
108
|
-
@prefix string: <http://www.w3.org/2000/10/swap/string#> .
|
|
109
|
-
@prefix see: <https://example.org/see#> .
|
|
110
|
-
@prefix in: <https://example.org/see/input#> .
|
|
111
|
-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
112
|
-
|
|
113
|
-
:rdfMessagesExample :demonstrates :ExplicitBoundaries .
|
|
114
|
-
:rdfMessagesExample :demonstrates :AtomicMessageContext .
|
|
115
|
-
:rdfMessagesExample :demonstrates :EmptyHeartbeat .
|
|
116
|
-
:rdfMessagesExample :demonstrates :MessageScopedBlankNodes .
|
|
117
|
-
:rdfMessagesExample :demonstrates :ReplayableMessageLog .
|
|
118
|
-
|
|
119
|
-
in:metadata {
|
|
120
|
-
in:run a see:InputDataset .
|
|
121
|
-
in:run see:name "rdf_messages" .
|
|
122
|
-
in:run see:title "RDF Messages" .
|
|
123
|
-
in:run see:sourceFile "examples/n3/rdf_messages.n3" .
|
|
124
|
-
in:run see:sourceSHA256 "2ea8b414b92e65531cf384000955ca47811d5b7c779a8d2c9fb007515e745f32" .
|
|
125
|
-
in:run see:description "This SEE 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." .
|
|
126
|
-
in:run see:compiler "see.js N3-to-JS compiler" .
|
|
127
|
-
in:run see:inputFacts 25 .
|
|
128
|
-
in:run see:compiledRules 6 .
|
|
129
|
-
in:run see:compiledBackwardRules 0 .
|
|
130
|
-
in:run see:compiledFuses 0 .
|
|
131
|
-
in:run see:compiledQueries 1 .
|
|
132
|
-
}
|
|
133
|
-
```
|
|
134
|
-
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
# School Placement Route Audit
|
|
2
|
-
|
|
3
|
-
## Entailment
|
|
4
|
-
audit result : fail
|
|
5
|
-
children affected by straight-line rule : Ada, Björn, Davi
|
|
6
|
-
largest hidden detour : Ada, 3000 m
|
|
7
|
-
recommended assignments : Ada -> Lindholmen; Björn -> Backa; Clara -> Haga; Davi -> Haga
|
|
8
|
-
explanation requested : yes
|
|
9
|
-
|
|
10
|
-
## Explanation
|
|
11
|
-
The support-tool rule chooses the school with the smallest straight-line distance, using preference rank only as a tie-breaker. The independent audit recomputes each candidate with walking-route distance plus 600 m per preference step. Any provisional assignment that is not the audited best, or that requires more than 2500 m of walking, is flagged. Ada and Björn look close to Centrum on a map, but their walking routes cross barriers and exceed the walking limit; Davi is also better served by the first-preference Haga route. This illustrates why a decision-support label is not enough: route geometry, preferences, and audit records must be inspectable.
|
|
12
|
-
|
|
13
|
-
**Generated derivation support**
|
|
14
|
-
|
|
15
|
-
Compiled support: 26 source fact(s), 4 rule(s), fixpoint reached before rendering.
|
|
16
|
-
|
|
17
|
-
Derivation steps:
|
|
18
|
-
- Rule 1 (5 premise pattern(s) => 1 conclusion pattern(s)) derives :Ada :auditFlag :walkingLimitExceeded ., :Bjorn :auditFlag :walkingLimitExceeded ., :Davi :auditFlag :walkingLimitExceeded .
|
|
19
|
-
- Uses: :Ada :provisional :Centrum . _(source)_; :Ada :auditedBest :Lindholmen . _(source)_; :Ada :walkingMeters 3600 . _(source)_; :Policy :maxWalkingMeters 2500 . _(source)_; … +6 more premise fact(s)
|
|
20
|
-
- Rule 2 (3 premise pattern(s) => 1 conclusion pattern(s)) derives :Ada :auditFlag :assignmentDiffersFromAuditedBest ., :Bjorn :auditFlag :assignmentDiffersFromAuditedBest ., :Davi :auditFlag :assignmentDiffersFromAuditedBest .
|
|
21
|
-
- Uses: :Ada :provisional :Centrum . _(source)_; :Ada :auditedBest :Lindholmen . _(source)_; :Bjorn :provisional :Centrum . _(source)_; :Bjorn :auditedBest :Backa . _(source)_; … +2 more premise fact(s)
|
|
22
|
-
- Rule 3 (8 premise pattern(s) => 4 conclusion pattern(s)) derives :Audit :result "fail" ., :Audit :affectedChildren "Ada, Björn, Davi" ., :Audit :largestHiddenDetour "Ada, 3000 m" ., :Audit :recommendedAssignments "Ada -> Lindholmen; Björn -> Backa; Clara -> Haga; Davi -> Haga" .
|
|
23
|
-
- Uses: :Ada :auditFlag :walkingLimitExceeded . _(derived)_; :Bjorn :auditFlag :walkingLimitExceeded . _(derived)_; :Davi :auditFlag :walkingLimitExceeded . _(derived)_; :Ada :hiddenDetour 3000 . _(source)_; … +2 more premise fact(s)
|
|
24
|
-
- Rule 4 (5 premise pattern(s) => 2 conclusion pattern(s)) derives :schoolPlacementAudit log:outputString "[authored report]" ., :schoolPlacementAudit :reports :Audit .
|
|
25
|
-
- Uses: :Audit :result "fail" . _(derived)_; :Audit :affectedChildren "Ada, Björn, Davi" . _(derived)_; :Audit :largestHiddenDetour "Ada, 3000 m" . _(derived)_; :Audit :recommendedAssignments "Ada -> Lindholmen; Björn -> Backa; Clara -> Haga; Davi -> Haga" . _(derived)_
|
|
26
|
-
|
|
27
|
-
Selected explanation support:
|
|
28
|
-
- :schoolPlacementAudit :reports :Audit . _(derived by Rule 4)_
|
|
29
|
-
- :Audit :result "fail" . _(derived by Rule 3)_
|
|
30
|
-
- :Ada :auditFlag :walkingLimitExceeded . _(derived by Rule 1)_
|
|
31
|
-
- :Ada :provisional :Centrum . _(source)_
|
|
32
|
-
- :Ada :auditedBest :Lindholmen . _(source)_
|
|
33
|
-
- :Ada :walkingMeters 3600 . _(source)_
|
|
34
|
-
- :Policy :maxWalkingMeters 2500 . _(source)_
|
|
35
|
-
- :Bjorn :auditFlag :walkingLimitExceeded . _(derived by Rule 1)_
|
|
36
|
-
- :Bjorn :provisional :Centrum . _(source)_
|
|
37
|
-
- :Bjorn :auditedBest :Backa . _(source)_
|
|
38
|
-
- :Bjorn :walkingMeters 3100 . _(source)_
|
|
39
|
-
- :Policy :maxWalkingMeters 2500 . _(source)_
|
|
40
|
-
- :Davi :auditFlag :walkingLimitExceeded . _(derived by Rule 1)_
|
|
41
|
-
- :Davi :provisional :Centrum . _(source)_
|
|
42
|
-
- :Davi :auditedBest :Haga . _(source)_
|
|
43
|
-
- :Davi :walkingMeters 2800 . _(source)_
|
|
44
|
-
- :Policy :maxWalkingMeters 2500 . _(source)_
|
|
45
|
-
- :Ada :hiddenDetour 3000 . _(source)_
|
|
46
|
-
- ... 2 more premise fact(s)
|
|
47
|
-
- :Audit :affectedChildren "Ada, Björn, Davi" . _(derived by Rule 3)_
|
|
48
|
-
- :Ada :auditFlag :walkingLimitExceeded . _(derived by Rule 1)_
|
|
49
|
-
- :Ada :provisional :Centrum . _(source)_
|
|
50
|
-
- :Ada :auditedBest :Lindholmen . _(source)_
|
|
51
|
-
- :Ada :walkingMeters 3600 . _(source)_
|
|
52
|
-
- :Policy :maxWalkingMeters 2500 . _(source)_
|
|
53
|
-
- :Bjorn :auditFlag :walkingLimitExceeded . _(derived by Rule 1)_
|
|
54
|
-
- :Bjorn :provisional :Centrum . _(source)_
|
|
55
|
-
- :Bjorn :auditedBest :Backa . _(source)_
|
|
56
|
-
- :Bjorn :walkingMeters 3100 . _(source)_
|
|
57
|
-
- :Policy :maxWalkingMeters 2500 . _(source)_
|
|
58
|
-
- :Davi :auditFlag :walkingLimitExceeded . _(derived by Rule 1)_
|
|
59
|
-
- :Davi :provisional :Centrum . _(source)_
|
|
60
|
-
- :Davi :auditedBest :Haga . _(source)_
|
|
61
|
-
- :Davi :walkingMeters 2800 . _(source)_
|
|
62
|
-
- :Policy :maxWalkingMeters 2500 . _(source)_
|
|
63
|
-
- :Ada :hiddenDetour 3000 . _(source)_
|
|
64
|
-
- ... 2 more premise fact(s)
|
|
65
|
-
- :Audit :largestHiddenDetour "Ada, 3000 m" . _(derived by Rule 3)_
|
|
66
|
-
- :Ada :auditFlag :walkingLimitExceeded . _(derived by Rule 1)_
|
|
67
|
-
- :Ada :provisional :Centrum . _(source)_
|
|
68
|
-
- ... 2 more premise fact(s)
|
|
69
|
-
- … support tree truncated after 40 line(s)
|
|
70
|
-
|
|
71
|
-
## Formal TriG Output
|
|
72
|
-
|
|
73
|
-
```trig
|
|
74
|
-
@prefix : <https://eyereasoner.github.io/see/examples/school-placement-audit#> .
|
|
75
|
-
@prefix math: <http://www.w3.org/2000/10/swap/math#> .
|
|
76
|
-
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
77
|
-
@prefix string: <http://www.w3.org/2000/10/swap/string#> .
|
|
78
|
-
@prefix see: <https://example.org/see#> .
|
|
79
|
-
@prefix in: <https://example.org/see/input#> .
|
|
80
|
-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
81
|
-
|
|
82
|
-
:schoolPlacementAudit :reports :Audit .
|
|
83
|
-
|
|
84
|
-
in:metadata {
|
|
85
|
-
in:run a see:InputDataset .
|
|
86
|
-
in:run see:name "school_placement_audit" .
|
|
87
|
-
in:run see:title "School Placement Route Audit" .
|
|
88
|
-
in:run see:sourceFile "examples/n3/school_placement_audit.n3" .
|
|
89
|
-
in:run see:sourceSHA256 "8bea39b2ea4c3045fed64b6e7adef0ca8cdf8d14c3735e28e831a759dae600fd" .
|
|
90
|
-
in:run see:description "N3-compiled version of the school placement audit. The original student,\nschool, distance, and policy JSON is preserved as the data-input sidecar." .
|
|
91
|
-
in:run see:compiler "see.js N3-to-JS compiler" .
|
|
92
|
-
in:run see:inputFacts 26 .
|
|
93
|
-
in:run see:compiledRules 4 .
|
|
94
|
-
in:run see:compiledBackwardRules 0 .
|
|
95
|
-
in:run see:compiledFuses 0 .
|
|
96
|
-
in:run see:compiledQueries 1 .
|
|
97
|
-
}
|
|
98
|
-
```
|
|
99
|
-
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# Smoke Arithmetic
|
|
2
|
-
|
|
3
|
-
## Entailment
|
|
4
|
-
product = 42
|
|
5
|
-
|
|
6
|
-
## Explanation
|
|
7
|
-
The compiled rule multiplies :x and :y using math:product.
|
|
8
|
-
|
|
9
|
-
**Generated derivation support**
|
|
10
|
-
|
|
11
|
-
Compiled support: 2 source fact(s), 2 rule(s), fixpoint reached before rendering.
|
|
12
|
-
|
|
13
|
-
Derivation steps:
|
|
14
|
-
- Rule 1 (4 premise pattern(s) => 1 conclusion pattern(s)) derives :Case :product 42 .
|
|
15
|
-
- Uses: :Input :x 6 . _(source)_; :Input :y 7 . _(source)_
|
|
16
|
-
- Rule 2: :Case :product ?Product; ("=== Answer ===\nproduct = %s\n\n=== Explanation ===\nThe compiled rule multiplies :x and :y using math:product." ?Product) string:format ?Block => :out01 log:outputString "[authored report]" derives :out01 log:outputString "[authored report]" .
|
|
17
|
-
- Uses: :Case :product 42 . _(derived)_
|
|
18
|
-
|
|
19
|
-
Selected explanation support:
|
|
20
|
-
- :out01 log:outputString "[authored report]" . _(authored report, Rule 2)_
|
|
21
|
-
- :Case :product 42 . _(derived by Rule 1)_
|
|
22
|
-
- :Input :x 6 . _(source)_
|
|
23
|
-
- :Input :y 7 . _(source)_
|
|
24
|
-
|
|
25
|
-
## Formal TriG Output
|
|
26
|
-
|
|
27
|
-
```trig
|
|
28
|
-
@prefix : <https://example.org/see/smoke#> .
|
|
29
|
-
@prefix math: <http://www.w3.org/2000/10/swap/math#> .
|
|
30
|
-
@prefix string: <http://www.w3.org/2000/10/swap/string#> .
|
|
31
|
-
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
32
|
-
@prefix see: <https://example.org/see#> .
|
|
33
|
-
@prefix in: <https://example.org/see/input#> .
|
|
34
|
-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
35
|
-
|
|
36
|
-
:Case :product 42 .
|
|
37
|
-
:out01 log:outputString "=== Answer ===\nproduct = 42\n\n=== Explanation ===\nThe compiled rule multiplies :x and :y using math:product." .
|
|
38
|
-
|
|
39
|
-
in:metadata {
|
|
40
|
-
in:run a see:InputDataset .
|
|
41
|
-
in:run see:name "smoke_arithmetic" .
|
|
42
|
-
in:run see:title "Smoke Arithmetic" .
|
|
43
|
-
in:run see:sourceFile "examples/n3/smoke_arithmetic.n3" .
|
|
44
|
-
in:run see:sourceSHA256 "e254b8b9be8207c07f29cf30426466e2d916286b5f93ea4385786a5d80303499" .
|
|
45
|
-
in:run see:description "Small Notation3 source used to prove that see.js generates a specialized JS\nexample which derives its answer from facts, math built-ins, fuses, and string\nformatting instead of reading a prewritten conclusion." .
|
|
46
|
-
in:run see:compiler "see.js N3-to-JS compiler" .
|
|
47
|
-
in:run see:inputFacts 2 .
|
|
48
|
-
in:run see:compiledRules 2 .
|
|
49
|
-
in:run see:compiledBackwardRules 0 .
|
|
50
|
-
in:run see:compiledFuses 0 .
|
|
51
|
-
in:run see:compiledQueries 0 .
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# Socrates inference
|
|
2
|
-
|
|
3
|
-
## Entailment
|
|
4
|
-
The compiled query selected 2 fact(s) after the rule closure was computed.
|
|
5
|
-
Main entailment: **:Socrates is a :Mortal.**
|
|
6
|
-
|
|
7
|
-
Selected entailments:
|
|
8
|
-
- :Socrates rdf:type :Mortal .
|
|
9
|
-
- :Socrates rdf:type :Human .
|
|
10
|
-
|
|
11
|
-
## Explanation
|
|
12
|
-
Starts with 2 source fact(s), applies 1 rule(s), and reaches a fixpoint.
|
|
13
|
-
The log:query projection then keeps only the matching fact(s) shown above.
|
|
14
|
-
|
|
15
|
-
Derivation steps:
|
|
16
|
-
- Rule 1: ?S rdf:type ?A; ?A rdfs:subClassOf ?B => ?S rdf:type ?B derives :Socrates rdf:type :Mortal .
|
|
17
|
-
- Uses: :Socrates rdf:type :Human . _(source)_; :Human rdfs:subClassOf :Mortal . _(source)_
|
|
18
|
-
|
|
19
|
-
Selected explanation support:
|
|
20
|
-
- :Socrates rdf:type :Mortal . _(derived by Rule 1)_
|
|
21
|
-
- :Socrates rdf:type :Human . _(source)_
|
|
22
|
-
- :Human rdfs:subClassOf :Mortal . _(source)_
|
|
23
|
-
- :Socrates rdf:type :Human . _(source)_
|
|
24
|
-
|
|
25
|
-
The query-selected facts are serialized in the Formal TriG Output section.
|
|
26
|
-
|
|
27
|
-
## Formal TriG Output
|
|
28
|
-
|
|
29
|
-
```trig
|
|
30
|
-
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
31
|
-
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
32
|
-
@prefix : <http://example.org/socrates#> .
|
|
33
|
-
@prefix see: <https://example.org/see#> .
|
|
34
|
-
@prefix in: <https://example.org/see/input#> .
|
|
35
|
-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
36
|
-
|
|
37
|
-
:Socrates rdf:type :Human .
|
|
38
|
-
:Socrates rdf:type :Mortal .
|
|
39
|
-
|
|
40
|
-
in:metadata {
|
|
41
|
-
in:run a see:InputDataset .
|
|
42
|
-
in:run see:name "socrates" .
|
|
43
|
-
in:run see:title "Socrates inference" .
|
|
44
|
-
in:run see:sourceFile "examples/n3/socrates.n3" .
|
|
45
|
-
in:run see:sourceSHA256 "a0c8a488401f3247c2371978378e7f4c532c8b6c22d5f5642665e93fd8c576a4" .
|
|
46
|
-
in:run see:description "" .
|
|
47
|
-
in:run see:compiler "see.js N3-to-JS compiler" .
|
|
48
|
-
in:run see:inputFacts 2 .
|
|
49
|
-
in:run see:compiledRules 1 .
|
|
50
|
-
in:run see:compiledBackwardRules 0 .
|
|
51
|
-
in:run see:compiledFuses 0 .
|
|
52
|
-
in:run see:compiledQueries 1 .
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Triple terms
|
|
2
|
-
|
|
3
|
-
## Entailment
|
|
4
|
-
The compiled query selected 1 fact(s) after the rule closure was computed.
|
|
5
|
-
Main entailment: **:observation :entails <<( :sensor :needs :inspection )>>.**
|
|
6
|
-
|
|
7
|
-
Selected entailments:
|
|
8
|
-
- :observation :entails <<( :sensor :needs :inspection )>> .
|
|
9
|
-
|
|
10
|
-
## Explanation
|
|
11
|
-
Starts with 2 source fact(s), applies 1 rule(s), and reaches a fixpoint.
|
|
12
|
-
The log:query projection then keeps only the matching fact(s) shown above.
|
|
13
|
-
|
|
14
|
-
Derivation steps:
|
|
15
|
-
- Rule 1: ?observation rdf:reifies <<( ?device :reports ?condition )>>; ?condition :requires ?action => ?observation :entails <<( ?device :needs ?action )>> derives :observation :entails <<( :sensor :needs :inspection )>> .
|
|
16
|
-
- Uses: :observation rdf:reifies <<( :sensor :reports :overheating )>> . _(source)_; :overheating :requires :inspection . _(source)_
|
|
17
|
-
|
|
18
|
-
Selected explanation support:
|
|
19
|
-
- :observation :entails <<( :sensor :needs :inspection )>> . _(derived by Rule 1)_
|
|
20
|
-
- :observation rdf:reifies <<( :sensor :reports :overheating )>> . _(source)_
|
|
21
|
-
- :overheating :requires :inspection . _(source)_
|
|
22
|
-
|
|
23
|
-
The query-selected facts are serialized in the Formal TriG Output section.
|
|
24
|
-
|
|
25
|
-
## Formal TriG Output
|
|
26
|
-
|
|
27
|
-
```trig
|
|
28
|
-
VERSION "1.2"
|
|
29
|
-
|
|
30
|
-
@prefix : <https://eyereasoner.github.io/eyeling/see/examples/triple_terms#> .
|
|
31
|
-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
32
|
-
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
33
|
-
@prefix see: <https://example.org/see#> .
|
|
34
|
-
@prefix in: <https://example.org/see/input#> .
|
|
35
|
-
|
|
36
|
-
:observation :entails <<( :sensor :needs :inspection )>> .
|
|
37
|
-
|
|
38
|
-
in:metadata {
|
|
39
|
-
in:run a see:InputDataset .
|
|
40
|
-
in:run see:name "triple_terms" .
|
|
41
|
-
in:run see:title "Triple terms" .
|
|
42
|
-
in:run see:sourceFile "examples/n3/triple_terms.n3" .
|
|
43
|
-
in:run see:sourceSHA256 "f94fae1b4087f790c085c4dd1570875694238a882213951b457480ee26c06944" .
|
|
44
|
-
in:run see:description "Demonstrates RDF 1.2 TriG triple terms as input evidence and as a derived entailment." .
|
|
45
|
-
in:run see:compiler "see.js N3-to-JS compiler" .
|
|
46
|
-
in:run see:inputFacts 2 .
|
|
47
|
-
in:run see:compiledRules 1 .
|
|
48
|
-
in:run see:compiledBackwardRules 0 .
|
|
49
|
-
in:run see:compiledFuses 0 .
|
|
50
|
-
in:run see:compiledQueries 1 .
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
# Wind Turbine Envelope
|
|
2
|
-
|
|
3
|
-
## Entailment
|
|
4
|
-
operating thresholds : cut-in 3.5 m/s, rated 12.0 m/s, cut-out 25.0 m/s
|
|
5
|
-
rated power : 3.2 MW
|
|
6
|
-
interval classifications : t1 3.0 m/s stopped 0.000 MW; t2 6.5 m/s partial 0.440 MW; t3 11.2 m/s partial 2.586 MW; t4 15.0 m/s rated 3.200 MW; t5 24.5 m/s rated 3.200 MW; t6 27.0 m/s stopped 0.000 MW
|
|
7
|
-
usable intervals : 4
|
|
8
|
-
total energy : 1.571 MWh
|
|
9
|
-
|
|
10
|
-
## Explanation
|
|
11
|
-
Wind 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.
|
|
12
|
-
|
|
13
|
-
**Generated derivation support**
|
|
14
|
-
|
|
15
|
-
Compiled support: 23 source fact(s), 7 rule(s), fixpoint reached before rendering.
|
|
16
|
-
|
|
17
|
-
Derivation steps:
|
|
18
|
-
- Rule 1 (3 premise pattern(s) => 2 conclusion pattern(s)) derives :t1 :status "stopped" ., :t1 :powerMW 0 .
|
|
19
|
-
- Uses: :case :cutInMS 3.5 . _(source)_; :t1 :speedMS 3 . _(source)_
|
|
20
|
-
- Rule 2 (3 premise pattern(s) => 2 conclusion pattern(s)) derives :t6 :status "stopped" ., :t6 :powerMW 0 .
|
|
21
|
-
- Uses: :case :cutOutMS 25 . _(source)_; :t6 :speedMS 27 . _(source)_
|
|
22
|
-
- Rule 3 (13 premise pattern(s) => 2 conclusion pattern(s)) derives :t2 :status "partial" ., :t2 :powerMW 0.440086047029152 ., :t3 :status "partial" ., :t3 :powerMW 2.58649631332987 .
|
|
23
|
-
- Uses: :case :cutInMS 3.5 . _(source)_; :case :ratedMS 12 . _(source)_; :case :ratedPowerMW 3.2 . _(source)_; :t2 :speedMS 6.5 . _(source)_; … +1 more premise fact(s)
|
|
24
|
-
- Rule 4 (6 premise pattern(s) => 2 conclusion pattern(s)) derives :t4 :status "rated" ., :t4 :powerMW 3.2 ., :t5 :status "rated" ., :t5 :powerMW 3.2 .
|
|
25
|
-
- Uses: :case :ratedMS 12 . _(source)_; :case :cutOutMS 25 . _(source)_; :case :ratedPowerMW 3.2 . _(source)_; :t4 :speedMS 15 . _(source)_; … +1 more premise fact(s)
|
|
26
|
-
- Rule 5 (4 premise pattern(s) => 1 conclusion pattern(s)) derives :t1 :nonNegativePower true ., :t2 :nonNegativePower true ., :t3 :nonNegativePower true ., :t4 :nonNegativePower true ., … +2 more
|
|
27
|
-
- Uses: :case :sample :t1 . _(source)_; :t1 :status "stopped" . _(derived)_; :t1 :powerMW 0 . _(derived)_; :case :sample :t2 . _(source)_; … +14 more premise fact(s)
|
|
28
|
-
- Rule 6 (4 premise pattern(s) => 1 conclusion pattern(s)) derives :t1 :withinRatedPower true ., :t2 :withinRatedPower true ., :t3 :withinRatedPower true ., :t4 :withinRatedPower true ., … +2 more
|
|
29
|
-
- Uses: :case :ratedPowerMW 3.2 . _(source)_; :case :sample :t1 . _(source)_; :t1 :powerMW 0 . _(derived)_; :case :sample :t2 . _(source)_; … +9 more premise fact(s)
|
|
30
|
-
|
|
31
|
-
Selected explanation support:
|
|
32
|
-
- :report log:outputString "[authored report]" . _(authored report, Rule 7)_
|
|
33
|
-
- :t6 :withinRatedPower true . _(derived by Rule 6)_
|
|
34
|
-
- :case :ratedPowerMW 3.2 . _(source)_
|
|
35
|
-
- :case :sample :t6 . _(source)_
|
|
36
|
-
- :t6 :powerMW 0 . _(derived by Rule 2)_
|
|
37
|
-
- :case :cutOutMS 25 . _(source)_
|
|
38
|
-
- :t6 :speedMS 27 . _(source)_
|
|
39
|
-
- :t5 :withinRatedPower true . _(derived by Rule 6)_
|
|
40
|
-
- :case :ratedPowerMW 3.2 . _(source)_
|
|
41
|
-
- :case :sample :t5 . _(source)_
|
|
42
|
-
- :t5 :powerMW 3.2 . _(derived by Rule 4)_
|
|
43
|
-
- :case :ratedMS 12 . _(source)_
|
|
44
|
-
- :case :cutOutMS 25 . _(source)_
|
|
45
|
-
- :case :ratedPowerMW 3.2 . _(source)_
|
|
46
|
-
- :t5 :speedMS 24.5 . _(source)_
|
|
47
|
-
- :t4 :withinRatedPower true . _(derived by Rule 6)_
|
|
48
|
-
- :case :ratedPowerMW 3.2 . _(source)_
|
|
49
|
-
- :case :sample :t4 . _(source)_
|
|
50
|
-
- :t4 :powerMW 3.2 . _(derived by Rule 4)_
|
|
51
|
-
- :case :ratedMS 12 . _(source)_
|
|
52
|
-
- :case :cutOutMS 25 . _(source)_
|
|
53
|
-
- :case :ratedPowerMW 3.2 . _(source)_
|
|
54
|
-
- :t4 :speedMS 15 . _(source)_
|
|
55
|
-
|
|
56
|
-
## Formal TriG Output
|
|
57
|
-
|
|
58
|
-
```trig
|
|
59
|
-
@prefix : <https://eyereasoner.github.io/see/examples/wind-turbine#> .
|
|
60
|
-
@prefix math: <http://www.w3.org/2000/10/swap/math#> .
|
|
61
|
-
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
62
|
-
@prefix string: <http://www.w3.org/2000/10/swap/string#> .
|
|
63
|
-
@prefix see: <https://example.org/see#> .
|
|
64
|
-
@prefix in: <https://example.org/see/input#> .
|
|
65
|
-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
66
|
-
|
|
67
|
-
:t1 :status "stopped" .
|
|
68
|
-
:t1 :powerMW 0 .
|
|
69
|
-
:t6 :status "stopped" .
|
|
70
|
-
:t6 :powerMW 0 .
|
|
71
|
-
:t2 :status "partial" .
|
|
72
|
-
:t2 :powerMW 0.440086047029152 .
|
|
73
|
-
:t3 :status "partial" .
|
|
74
|
-
:t3 :powerMW 2.58649631332987 .
|
|
75
|
-
:t4 :status "rated" .
|
|
76
|
-
:t4 :powerMW 3.2 .
|
|
77
|
-
:t5 :status "rated" .
|
|
78
|
-
:t5 :powerMW 3.2 .
|
|
79
|
-
:t1 :nonNegativePower true .
|
|
80
|
-
:t2 :nonNegativePower true .
|
|
81
|
-
:t3 :nonNegativePower true .
|
|
82
|
-
:t4 :nonNegativePower true .
|
|
83
|
-
:t5 :nonNegativePower true .
|
|
84
|
-
:t6 :nonNegativePower true .
|
|
85
|
-
:t1 :withinRatedPower true .
|
|
86
|
-
:t2 :withinRatedPower true .
|
|
87
|
-
:t3 :withinRatedPower true .
|
|
88
|
-
:t4 :withinRatedPower true .
|
|
89
|
-
:t5 :withinRatedPower true .
|
|
90
|
-
:t6 :withinRatedPower true .
|
|
91
|
-
:report log:outputString "=== Answer ===\noperating thresholds : cut-in 3.5 m/s, rated 12.0 m/s, cut-out 25.0 m/s\nrated power : 3.2 MW\ninterval classifications : t1 3.0 m/s stopped 0.000 MW; t2 6.5 m/s partial 0.440 MW; t3 11.2 m/s partial 2.586 MW; t4 15.0 m/s rated 3.200 MW; t5 24.5 m/s rated 3.200 MW; t6 27.0 m/s stopped 0.000 MW\nusable intervals : 4\ntotal energy : 1.571 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." .
|
|
92
|
-
|
|
93
|
-
in:metadata {
|
|
94
|
-
in:run a see:InputDataset .
|
|
95
|
-
in:run see:name "wind_turbine" .
|
|
96
|
-
in:run see:title "Wind Turbine Envelope" .
|
|
97
|
-
in:run see:sourceFile "examples/n3/wind_turbine.n3" .
|
|
98
|
-
in:run see:sourceSHA256 "cf2129430d3165b9e304a078ce1b40c0f4634b4c98a14832c096ac0c1a70a049" .
|
|
99
|
-
in:run see:description "Classify wind-speed samples against a turbine operating envelope and compute\ninterval energy. The classification and cubic power curve are expressed in N3\nrules and compiled into a standalone SEE JavaScript example." .
|
|
100
|
-
in:run see:compiler "see.js N3-to-JS compiler" .
|
|
101
|
-
in:run see:inputFacts 23 .
|
|
102
|
-
in:run see:compiledRules 7 .
|
|
103
|
-
in:run see:compiledBackwardRules 0 .
|
|
104
|
-
in:run see:compiledFuses 0 .
|
|
105
|
-
in:run see:compiledQueries 0 .
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# Burn the witch
|
|
2
|
-
|
|
3
|
-
## Entailment
|
|
4
|
-
The derivation produced 6 new fact(s) from 3 stated fact(s).
|
|
5
|
-
Main entailment: **:GIRL is a :WITCH.**
|
|
6
|
-
|
|
7
|
-
Selected entailments:
|
|
8
|
-
- :GIRL rdf:type :WITCH .
|
|
9
|
-
- :GIRL rdf:type :BURNS .
|
|
10
|
-
- :GIRL rdf:type :ISMADEOFWOOD .
|
|
11
|
-
- :DUCK rdf:type :BURNS .
|
|
12
|
-
- :GIRL rdf:type :FLOATS .
|
|
13
|
-
- :DUCK rdf:type :ISMADEOFWOOD .
|
|
14
|
-
|
|
15
|
-
## Explanation
|
|
16
|
-
Starts with 3 source fact(s), applies 4 rule(s), and reaches a fixpoint.
|
|
17
|
-
|
|
18
|
-
Derivation steps:
|
|
19
|
-
- Rule 3: ?x rdf:type :FLOATS => ?x rdf:type :ISMADEOFWOOD derives :DUCK rdf:type :ISMADEOFWOOD ., :GIRL rdf:type :ISMADEOFWOOD .
|
|
20
|
-
- Uses: :DUCK rdf:type :FLOATS . _(source)_; :GIRL rdf:type :FLOATS . _(derived)_
|
|
21
|
-
- Rule 4: ?x rdf:type :FLOATS; ?x :SAMEWEIGHT ?y => ?y rdf:type :FLOATS derives :GIRL rdf:type :FLOATS .
|
|
22
|
-
- Uses: :DUCK rdf:type :FLOATS . _(source)_; :DUCK :SAMEWEIGHT :GIRL . _(source)_
|
|
23
|
-
- Rule 2: ?x rdf:type :ISMADEOFWOOD => ?x rdf:type :BURNS derives :DUCK rdf:type :BURNS ., :GIRL rdf:type :BURNS .
|
|
24
|
-
- Uses: :DUCK rdf:type :ISMADEOFWOOD . _(derived)_; :GIRL rdf:type :ISMADEOFWOOD . _(derived)_
|
|
25
|
-
- Rule 1: ?x rdf:type :BURNS; ?x rdf:type :WOMAN => ?x rdf:type :WITCH derives :GIRL rdf:type :WITCH .
|
|
26
|
-
- Uses: :GIRL rdf:type :BURNS . _(derived)_; :GIRL rdf:type :WOMAN . _(source)_
|
|
27
|
-
|
|
28
|
-
Selected explanation support:
|
|
29
|
-
- :GIRL rdf:type :WITCH . _(derived by Rule 1)_
|
|
30
|
-
- :GIRL rdf:type :BURNS . _(derived by Rule 2)_
|
|
31
|
-
- :GIRL rdf:type :ISMADEOFWOOD . _(derived by Rule 3)_
|
|
32
|
-
- :GIRL rdf:type :FLOATS . _(derived by Rule 4)_
|
|
33
|
-
- :DUCK rdf:type :FLOATS . _(source)_
|
|
34
|
-
- :DUCK :SAMEWEIGHT :GIRL . _(source)_
|
|
35
|
-
- :GIRL rdf:type :WOMAN . _(source)_
|
|
36
|
-
- :GIRL rdf:type :BURNS . _(derived by Rule 2)_
|
|
37
|
-
- :GIRL rdf:type :ISMADEOFWOOD . _(derived by Rule 3)_
|
|
38
|
-
- :GIRL rdf:type :FLOATS . _(derived by Rule 4)_
|
|
39
|
-
- :DUCK rdf:type :FLOATS . _(source)_
|
|
40
|
-
- :DUCK :SAMEWEIGHT :GIRL . _(source)_
|
|
41
|
-
- :GIRL rdf:type :ISMADEOFWOOD . _(derived by Rule 3)_
|
|
42
|
-
- :GIRL rdf:type :FLOATS . _(derived by Rule 4)_
|
|
43
|
-
- :DUCK rdf:type :FLOATS . _(source)_
|
|
44
|
-
- :DUCK :SAMEWEIGHT :GIRL . _(source)_
|
|
45
|
-
- :DUCK rdf:type :BURNS . _(derived by Rule 2)_
|
|
46
|
-
- :DUCK rdf:type :ISMADEOFWOOD . _(derived by Rule 3)_
|
|
47
|
-
- :DUCK rdf:type :FLOATS . _(source)_
|
|
48
|
-
- :GIRL rdf:type :FLOATS . _(derived by Rule 4)_
|
|
49
|
-
- :DUCK rdf:type :FLOATS . _(source)_
|
|
50
|
-
- :DUCK :SAMEWEIGHT :GIRL . _(source)_
|
|
51
|
-
- :DUCK rdf:type :ISMADEOFWOOD . _(derived by Rule 3)_
|
|
52
|
-
- :DUCK rdf:type :FLOATS . _(source)_
|
|
53
|
-
|
|
54
|
-
The selected facts are serialized in the Formal TriG Output section.
|
|
55
|
-
|
|
56
|
-
## Formal TriG Output
|
|
57
|
-
|
|
58
|
-
```trig
|
|
59
|
-
@prefix : <http://example.org/witch#> .
|
|
60
|
-
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
61
|
-
@prefix see: <https://example.org/see#> .
|
|
62
|
-
@prefix in: <https://example.org/see/input#> .
|
|
63
|
-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
64
|
-
|
|
65
|
-
:DUCK rdf:type :ISMADEOFWOOD .
|
|
66
|
-
:GIRL rdf:type :FLOATS .
|
|
67
|
-
:DUCK rdf:type :BURNS .
|
|
68
|
-
:GIRL rdf:type :ISMADEOFWOOD .
|
|
69
|
-
:GIRL rdf:type :BURNS .
|
|
70
|
-
:GIRL rdf:type :WITCH .
|
|
71
|
-
|
|
72
|
-
in:metadata {
|
|
73
|
-
in:run a see:InputDataset .
|
|
74
|
-
in:run see:name "witch" .
|
|
75
|
-
in:run see:title "Burn the witch" .
|
|
76
|
-
in:run see:sourceFile "examples/n3/witch.n3" .
|
|
77
|
-
in:run see:sourceSHA256 "bc0a493c490136926a3e3086f6b8bc63a8ae97334d723c7737eeaea837428045" .
|
|
78
|
-
in:run see:description "http://clarkparsia.com/weblog/2007/01/02/burn-the-witch/\nhttp://www.netfunny.com/rhf/jokes/90q4/burnher.html\noriginal http://www.w3.org/2000/10/swap/test/reason/witch.n3" .
|
|
79
|
-
in:run see:compiler "see.js N3-to-JS compiler" .
|
|
80
|
-
in:run see:inputFacts 3 .
|
|
81
|
-
in:run see:compiledRules 4 .
|
|
82
|
-
in:run see:compiledBackwardRules 0 .
|
|
83
|
-
in:run see:compiledFuses 0 .
|
|
84
|
-
in:run see:compiledQueries 0 .
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
|