eyeling 1.5.35 → 1.5.37
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/examples/brussels-brew-club.n3 +119 -0
- package/examples/drone-corridor-planner.n3 +146 -40
- package/examples/ev-roundtrip-planner.n3 +189 -0
- package/examples/json-pointer.n3 +5 -0
- package/examples/json-reconcile-vat.n3 +5 -0
- package/examples/oslo-steps-workflow-composition.n3 +305 -0
- package/examples/output/brussels-brew-club.n3 +498 -0
- package/examples/output/drone-corridor-planner.n3 +717 -51
- package/examples/output/ev-roundtrip-planner.n3 +403 -0
- package/examples/output/json-reconcile-vat.n3 +49 -48
- package/examples/output/oslo-steps-workflow-composition.n3 +148 -0
- package/examples/output/skolem.n3 +5 -4
- package/examples/rdf-list.n3 +7 -3
- package/eyeling.js +183 -7
- package/package.json +1 -1
- package/test/api.test.js +30 -0
- package/examples/drone-corridor-planner-v2.n3 +0 -237
- package/examples/output/drone-corridor-planner-v2.n3 +0 -819
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
@prefix : <http://example.org/brewclub#> .
|
|
2
|
+
@prefix genid: <https://eyereasoner.github.io/.well-known/genid/> .
|
|
3
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
4
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
5
|
+
|
|
6
|
+
# ----------------------------------------------------------------------
|
|
7
|
+
# Proof for derived triple:
|
|
8
|
+
# :bob :age 16 .
|
|
9
|
+
# It holds because the following instance of the rule body is provable:
|
|
10
|
+
# :bob :profileJson """{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON .
|
|
11
|
+
# ("""{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON "/age") string:jsonPointer 16 .
|
|
12
|
+
# ("""{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON "/name") string:jsonPointer "Bob" .
|
|
13
|
+
# ("""{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON "/city") string:jsonPointer "Brussels" .
|
|
14
|
+
# via the schematic forward rule:
|
|
15
|
+
# {
|
|
16
|
+
# ?p :profileJson ?j .
|
|
17
|
+
# (?j "/age") string:jsonPointer ?age .
|
|
18
|
+
# (?j "/name") string:jsonPointer ?name .
|
|
19
|
+
# (?j "/city") string:jsonPointer ?city .
|
|
20
|
+
# } => {
|
|
21
|
+
# ?p :age ?age .
|
|
22
|
+
# ?p :name ?name .
|
|
23
|
+
# ?p :city ?city .
|
|
24
|
+
# } .
|
|
25
|
+
# with substitution (on rule variables):
|
|
26
|
+
# ?age = 16
|
|
27
|
+
# ?city = "Brussels"
|
|
28
|
+
# ?j = """{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON
|
|
29
|
+
# ?name = "Bob"
|
|
30
|
+
# ?p = :bob
|
|
31
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
32
|
+
# ----------------------------------------------------------------------
|
|
33
|
+
|
|
34
|
+
:bob :age 16 .
|
|
35
|
+
|
|
36
|
+
# ----------------------------------------------------------------------
|
|
37
|
+
# Proof for derived triple:
|
|
38
|
+
# :bob :name "Bob" .
|
|
39
|
+
# It holds because the following instance of the rule body is provable:
|
|
40
|
+
# :bob :profileJson """{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON .
|
|
41
|
+
# ("""{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON "/age") string:jsonPointer 16 .
|
|
42
|
+
# ("""{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON "/name") string:jsonPointer "Bob" .
|
|
43
|
+
# ("""{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON "/city") string:jsonPointer "Brussels" .
|
|
44
|
+
# via the schematic forward rule:
|
|
45
|
+
# {
|
|
46
|
+
# ?p :profileJson ?j .
|
|
47
|
+
# (?j "/age") string:jsonPointer ?age .
|
|
48
|
+
# (?j "/name") string:jsonPointer ?name .
|
|
49
|
+
# (?j "/city") string:jsonPointer ?city .
|
|
50
|
+
# } => {
|
|
51
|
+
# ?p :age ?age .
|
|
52
|
+
# ?p :name ?name .
|
|
53
|
+
# ?p :city ?city .
|
|
54
|
+
# } .
|
|
55
|
+
# with substitution (on rule variables):
|
|
56
|
+
# ?age = 16
|
|
57
|
+
# ?city = "Brussels"
|
|
58
|
+
# ?j = """{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON
|
|
59
|
+
# ?name = "Bob"
|
|
60
|
+
# ?p = :bob
|
|
61
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
62
|
+
# ----------------------------------------------------------------------
|
|
63
|
+
|
|
64
|
+
:bob :name "Bob" .
|
|
65
|
+
|
|
66
|
+
# ----------------------------------------------------------------------
|
|
67
|
+
# Proof for derived triple:
|
|
68
|
+
# :bob :city "Brussels" .
|
|
69
|
+
# It holds because the following instance of the rule body is provable:
|
|
70
|
+
# :bob :profileJson """{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON .
|
|
71
|
+
# ("""{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON "/age") string:jsonPointer 16 .
|
|
72
|
+
# ("""{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON "/name") string:jsonPointer "Bob" .
|
|
73
|
+
# ("""{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON "/city") string:jsonPointer "Brussels" .
|
|
74
|
+
# via the schematic forward rule:
|
|
75
|
+
# {
|
|
76
|
+
# ?p :profileJson ?j .
|
|
77
|
+
# (?j "/age") string:jsonPointer ?age .
|
|
78
|
+
# (?j "/name") string:jsonPointer ?name .
|
|
79
|
+
# (?j "/city") string:jsonPointer ?city .
|
|
80
|
+
# } => {
|
|
81
|
+
# ?p :age ?age .
|
|
82
|
+
# ?p :name ?name .
|
|
83
|
+
# ?p :city ?city .
|
|
84
|
+
# } .
|
|
85
|
+
# with substitution (on rule variables):
|
|
86
|
+
# ?age = 16
|
|
87
|
+
# ?city = "Brussels"
|
|
88
|
+
# ?j = """{ "name": "Bob", "age": 16, "city": "Brussels" }"""^^rdf:JSON
|
|
89
|
+
# ?name = "Bob"
|
|
90
|
+
# ?p = :bob
|
|
91
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
92
|
+
# ----------------------------------------------------------------------
|
|
93
|
+
|
|
94
|
+
:bob :city "Brussels" .
|
|
95
|
+
|
|
96
|
+
# ----------------------------------------------------------------------
|
|
97
|
+
# Proof for derived triple:
|
|
98
|
+
# :alice :age 23 .
|
|
99
|
+
# It holds because the following instance of the rule body is provable:
|
|
100
|
+
# :alice :profileJson """{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON .
|
|
101
|
+
# ("""{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON "/age") string:jsonPointer 23 .
|
|
102
|
+
# ("""{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON "/name") string:jsonPointer "Alice" .
|
|
103
|
+
# ("""{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON "/city") string:jsonPointer "Brussels" .
|
|
104
|
+
# via the schematic forward rule:
|
|
105
|
+
# {
|
|
106
|
+
# ?p :profileJson ?j .
|
|
107
|
+
# (?j "/age") string:jsonPointer ?age .
|
|
108
|
+
# (?j "/name") string:jsonPointer ?name .
|
|
109
|
+
# (?j "/city") string:jsonPointer ?city .
|
|
110
|
+
# } => {
|
|
111
|
+
# ?p :age ?age .
|
|
112
|
+
# ?p :name ?name .
|
|
113
|
+
# ?p :city ?city .
|
|
114
|
+
# } .
|
|
115
|
+
# with substitution (on rule variables):
|
|
116
|
+
# ?age = 23
|
|
117
|
+
# ?city = "Brussels"
|
|
118
|
+
# ?j = """{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON
|
|
119
|
+
# ?name = "Alice"
|
|
120
|
+
# ?p = :alice
|
|
121
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
122
|
+
# ----------------------------------------------------------------------
|
|
123
|
+
|
|
124
|
+
:alice :age 23 .
|
|
125
|
+
|
|
126
|
+
# ----------------------------------------------------------------------
|
|
127
|
+
# Proof for derived triple:
|
|
128
|
+
# :alice :name "Alice" .
|
|
129
|
+
# It holds because the following instance of the rule body is provable:
|
|
130
|
+
# :alice :profileJson """{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON .
|
|
131
|
+
# ("""{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON "/age") string:jsonPointer 23 .
|
|
132
|
+
# ("""{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON "/name") string:jsonPointer "Alice" .
|
|
133
|
+
# ("""{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON "/city") string:jsonPointer "Brussels" .
|
|
134
|
+
# via the schematic forward rule:
|
|
135
|
+
# {
|
|
136
|
+
# ?p :profileJson ?j .
|
|
137
|
+
# (?j "/age") string:jsonPointer ?age .
|
|
138
|
+
# (?j "/name") string:jsonPointer ?name .
|
|
139
|
+
# (?j "/city") string:jsonPointer ?city .
|
|
140
|
+
# } => {
|
|
141
|
+
# ?p :age ?age .
|
|
142
|
+
# ?p :name ?name .
|
|
143
|
+
# ?p :city ?city .
|
|
144
|
+
# } .
|
|
145
|
+
# with substitution (on rule variables):
|
|
146
|
+
# ?age = 23
|
|
147
|
+
# ?city = "Brussels"
|
|
148
|
+
# ?j = """{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON
|
|
149
|
+
# ?name = "Alice"
|
|
150
|
+
# ?p = :alice
|
|
151
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
152
|
+
# ----------------------------------------------------------------------
|
|
153
|
+
|
|
154
|
+
:alice :name "Alice" .
|
|
155
|
+
|
|
156
|
+
# ----------------------------------------------------------------------
|
|
157
|
+
# Proof for derived triple:
|
|
158
|
+
# :alice :city "Brussels" .
|
|
159
|
+
# It holds because the following instance of the rule body is provable:
|
|
160
|
+
# :alice :profileJson """{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON .
|
|
161
|
+
# ("""{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON "/age") string:jsonPointer 23 .
|
|
162
|
+
# ("""{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON "/name") string:jsonPointer "Alice" .
|
|
163
|
+
# ("""{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON "/city") string:jsonPointer "Brussels" .
|
|
164
|
+
# via the schematic forward rule:
|
|
165
|
+
# {
|
|
166
|
+
# ?p :profileJson ?j .
|
|
167
|
+
# (?j "/age") string:jsonPointer ?age .
|
|
168
|
+
# (?j "/name") string:jsonPointer ?name .
|
|
169
|
+
# (?j "/city") string:jsonPointer ?city .
|
|
170
|
+
# } => {
|
|
171
|
+
# ?p :age ?age .
|
|
172
|
+
# ?p :name ?name .
|
|
173
|
+
# ?p :city ?city .
|
|
174
|
+
# } .
|
|
175
|
+
# with substitution (on rule variables):
|
|
176
|
+
# ?age = 23
|
|
177
|
+
# ?city = "Brussels"
|
|
178
|
+
# ?j = """{ "name": "Alice", "age": 23, "city": "Brussels" }"""^^rdf:JSON
|
|
179
|
+
# ?name = "Alice"
|
|
180
|
+
# ?p = :alice
|
|
181
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
182
|
+
# ----------------------------------------------------------------------
|
|
183
|
+
|
|
184
|
+
:alice :city "Brussels" .
|
|
185
|
+
|
|
186
|
+
# ----------------------------------------------------------------------
|
|
187
|
+
# Proof for derived triple:
|
|
188
|
+
# genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 a :MembershipCard .
|
|
189
|
+
# It holds because the following instance of the rule body is provable:
|
|
190
|
+
# :alice a :Adult .
|
|
191
|
+
# :alice :name "Alice" .
|
|
192
|
+
# :run :now "2000-01-01T00:00:00+00:00"^^xsd:dateTime .
|
|
193
|
+
# (:alice) log:skolem genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 .
|
|
194
|
+
# ("Brew Club card for " "Alice") string:concatenation "Brew Club card for Alice" .
|
|
195
|
+
# via the schematic forward rule:
|
|
196
|
+
# {
|
|
197
|
+
# ?p a :Adult .
|
|
198
|
+
# ?p :name ?name .
|
|
199
|
+
# :run :now ?now .
|
|
200
|
+
# (?p) log:skolem ?card .
|
|
201
|
+
# ("Brew Club card for " ?name) string:concatenation ?label .
|
|
202
|
+
# } => {
|
|
203
|
+
# ?card a :MembershipCard .
|
|
204
|
+
# ?card :holder ?p .
|
|
205
|
+
# ?card :issuedAt ?now .
|
|
206
|
+
# ?card rdfs:label ?label .
|
|
207
|
+
# } .
|
|
208
|
+
# with substitution (on rule variables):
|
|
209
|
+
# ?card = genid:9e06e026-ada3-9430-3e11-8dd8c37dac24
|
|
210
|
+
# ?label = "Brew Club card for Alice"
|
|
211
|
+
# ?name = "Alice"
|
|
212
|
+
# ?now = "2000-01-01T00:00:00+00:00"^^xsd:dateTime
|
|
213
|
+
# ?p = :alice
|
|
214
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
215
|
+
# ----------------------------------------------------------------------
|
|
216
|
+
|
|
217
|
+
genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 a :MembershipCard .
|
|
218
|
+
|
|
219
|
+
# ----------------------------------------------------------------------
|
|
220
|
+
# Proof for derived triple:
|
|
221
|
+
# genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 :holder :alice .
|
|
222
|
+
# It holds because the following instance of the rule body is provable:
|
|
223
|
+
# :alice a :Adult .
|
|
224
|
+
# :alice :name "Alice" .
|
|
225
|
+
# :run :now "2000-01-01T00:00:00+00:00"^^xsd:dateTime .
|
|
226
|
+
# (:alice) log:skolem genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 .
|
|
227
|
+
# ("Brew Club card for " "Alice") string:concatenation "Brew Club card for Alice" .
|
|
228
|
+
# via the schematic forward rule:
|
|
229
|
+
# {
|
|
230
|
+
# ?p a :Adult .
|
|
231
|
+
# ?p :name ?name .
|
|
232
|
+
# :run :now ?now .
|
|
233
|
+
# (?p) log:skolem ?card .
|
|
234
|
+
# ("Brew Club card for " ?name) string:concatenation ?label .
|
|
235
|
+
# } => {
|
|
236
|
+
# ?card a :MembershipCard .
|
|
237
|
+
# ?card :holder ?p .
|
|
238
|
+
# ?card :issuedAt ?now .
|
|
239
|
+
# ?card rdfs:label ?label .
|
|
240
|
+
# } .
|
|
241
|
+
# with substitution (on rule variables):
|
|
242
|
+
# ?card = genid:9e06e026-ada3-9430-3e11-8dd8c37dac24
|
|
243
|
+
# ?label = "Brew Club card for Alice"
|
|
244
|
+
# ?name = "Alice"
|
|
245
|
+
# ?now = "2000-01-01T00:00:00+00:00"^^xsd:dateTime
|
|
246
|
+
# ?p = :alice
|
|
247
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
248
|
+
# ----------------------------------------------------------------------
|
|
249
|
+
|
|
250
|
+
genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 :holder :alice .
|
|
251
|
+
|
|
252
|
+
# ----------------------------------------------------------------------
|
|
253
|
+
# Proof for derived triple:
|
|
254
|
+
# genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 :issuedAt "2000-01-01T00:00:00+00:00"^^xsd:dateTime .
|
|
255
|
+
# It holds because the following instance of the rule body is provable:
|
|
256
|
+
# :alice a :Adult .
|
|
257
|
+
# :alice :name "Alice" .
|
|
258
|
+
# :run :now "2000-01-01T00:00:00+00:00"^^xsd:dateTime .
|
|
259
|
+
# (:alice) log:skolem genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 .
|
|
260
|
+
# ("Brew Club card for " "Alice") string:concatenation "Brew Club card for Alice" .
|
|
261
|
+
# via the schematic forward rule:
|
|
262
|
+
# {
|
|
263
|
+
# ?p a :Adult .
|
|
264
|
+
# ?p :name ?name .
|
|
265
|
+
# :run :now ?now .
|
|
266
|
+
# (?p) log:skolem ?card .
|
|
267
|
+
# ("Brew Club card for " ?name) string:concatenation ?label .
|
|
268
|
+
# } => {
|
|
269
|
+
# ?card a :MembershipCard .
|
|
270
|
+
# ?card :holder ?p .
|
|
271
|
+
# ?card :issuedAt ?now .
|
|
272
|
+
# ?card rdfs:label ?label .
|
|
273
|
+
# } .
|
|
274
|
+
# with substitution (on rule variables):
|
|
275
|
+
# ?card = genid:9e06e026-ada3-9430-3e11-8dd8c37dac24
|
|
276
|
+
# ?label = "Brew Club card for Alice"
|
|
277
|
+
# ?name = "Alice"
|
|
278
|
+
# ?now = "2000-01-01T00:00:00+00:00"^^xsd:dateTime
|
|
279
|
+
# ?p = :alice
|
|
280
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
281
|
+
# ----------------------------------------------------------------------
|
|
282
|
+
|
|
283
|
+
genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 :issuedAt "2000-01-01T00:00:00+00:00"^^xsd:dateTime .
|
|
284
|
+
|
|
285
|
+
# ----------------------------------------------------------------------
|
|
286
|
+
# Proof for derived triple:
|
|
287
|
+
# genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 rdfs:label "Brew Club card for Alice" .
|
|
288
|
+
# It holds because the following instance of the rule body is provable:
|
|
289
|
+
# :alice a :Adult .
|
|
290
|
+
# :alice :name "Alice" .
|
|
291
|
+
# :run :now "2000-01-01T00:00:00+00:00"^^xsd:dateTime .
|
|
292
|
+
# (:alice) log:skolem genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 .
|
|
293
|
+
# ("Brew Club card for " "Alice") string:concatenation "Brew Club card for Alice" .
|
|
294
|
+
# via the schematic forward rule:
|
|
295
|
+
# {
|
|
296
|
+
# ?p a :Adult .
|
|
297
|
+
# ?p :name ?name .
|
|
298
|
+
# :run :now ?now .
|
|
299
|
+
# (?p) log:skolem ?card .
|
|
300
|
+
# ("Brew Club card for " ?name) string:concatenation ?label .
|
|
301
|
+
# } => {
|
|
302
|
+
# ?card a :MembershipCard .
|
|
303
|
+
# ?card :holder ?p .
|
|
304
|
+
# ?card :issuedAt ?now .
|
|
305
|
+
# ?card rdfs:label ?label .
|
|
306
|
+
# } .
|
|
307
|
+
# with substitution (on rule variables):
|
|
308
|
+
# ?card = genid:9e06e026-ada3-9430-3e11-8dd8c37dac24
|
|
309
|
+
# ?label = "Brew Club card for Alice"
|
|
310
|
+
# ?name = "Alice"
|
|
311
|
+
# ?now = "2000-01-01T00:00:00+00:00"^^xsd:dateTime
|
|
312
|
+
# ?p = :alice
|
|
313
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
314
|
+
# ----------------------------------------------------------------------
|
|
315
|
+
|
|
316
|
+
genid:9e06e026-ada3-9430-3e11-8dd8c37dac24 rdfs:label "Brew Club card for Alice" .
|
|
317
|
+
|
|
318
|
+
# ----------------------------------------------------------------------
|
|
319
|
+
# Proof for derived triple:
|
|
320
|
+
# :order1 :eligibleDiscount true .
|
|
321
|
+
# It holds because the following instance of the rule body is provable:
|
|
322
|
+
# :order1 a :Order .
|
|
323
|
+
# :order1 a :BigOrder .
|
|
324
|
+
# :order1 :by :alice .
|
|
325
|
+
# :alice a :Adult .
|
|
326
|
+
# via the schematic forward rule:
|
|
327
|
+
# {
|
|
328
|
+
# ?o a :Order .
|
|
329
|
+
# ?o a :BigOrder .
|
|
330
|
+
# ?o :by ?p .
|
|
331
|
+
# ?p a :Adult .
|
|
332
|
+
# } => {
|
|
333
|
+
# ?o :eligibleDiscount true .
|
|
334
|
+
# } .
|
|
335
|
+
# with substitution (on rule variables):
|
|
336
|
+
# ?o = :order1
|
|
337
|
+
# ?p = :alice
|
|
338
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
339
|
+
# ----------------------------------------------------------------------
|
|
340
|
+
|
|
341
|
+
:order1 :eligibleDiscount true .
|
|
342
|
+
|
|
343
|
+
# ----------------------------------------------------------------------
|
|
344
|
+
# Proof for derived triple:
|
|
345
|
+
# genid:fbd10997-9fd6-99ce-fa19-a82424656d08 a :Receipt .
|
|
346
|
+
# It holds because the following instance of the rule body is provable:
|
|
347
|
+
# :order2 a :Order .
|
|
348
|
+
# :order2 :id "ORD-2025-002" .
|
|
349
|
+
# ("ORD-2025-002") log:skolem genid:fbd10997-9fd6-99ce-fa19-a82424656d08 .
|
|
350
|
+
# via the schematic forward rule:
|
|
351
|
+
# {
|
|
352
|
+
# ?o a :Order .
|
|
353
|
+
# ?o :id ?id .
|
|
354
|
+
# (?id) log:skolem ?receipt .
|
|
355
|
+
# } => {
|
|
356
|
+
# ?receipt a :Receipt .
|
|
357
|
+
# ?receipt :forOrder ?o .
|
|
358
|
+
# ?receipt :receiptId ?id .
|
|
359
|
+
# } .
|
|
360
|
+
# with substitution (on rule variables):
|
|
361
|
+
# ?id = "ORD-2025-002"
|
|
362
|
+
# ?o = :order2
|
|
363
|
+
# ?receipt = genid:fbd10997-9fd6-99ce-fa19-a82424656d08
|
|
364
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
365
|
+
# ----------------------------------------------------------------------
|
|
366
|
+
|
|
367
|
+
genid:fbd10997-9fd6-99ce-fa19-a82424656d08 a :Receipt .
|
|
368
|
+
|
|
369
|
+
# ----------------------------------------------------------------------
|
|
370
|
+
# Proof for derived triple:
|
|
371
|
+
# genid:fbd10997-9fd6-99ce-fa19-a82424656d08 :forOrder :order2 .
|
|
372
|
+
# It holds because the following instance of the rule body is provable:
|
|
373
|
+
# :order2 a :Order .
|
|
374
|
+
# :order2 :id "ORD-2025-002" .
|
|
375
|
+
# ("ORD-2025-002") log:skolem genid:fbd10997-9fd6-99ce-fa19-a82424656d08 .
|
|
376
|
+
# via the schematic forward rule:
|
|
377
|
+
# {
|
|
378
|
+
# ?o a :Order .
|
|
379
|
+
# ?o :id ?id .
|
|
380
|
+
# (?id) log:skolem ?receipt .
|
|
381
|
+
# } => {
|
|
382
|
+
# ?receipt a :Receipt .
|
|
383
|
+
# ?receipt :forOrder ?o .
|
|
384
|
+
# ?receipt :receiptId ?id .
|
|
385
|
+
# } .
|
|
386
|
+
# with substitution (on rule variables):
|
|
387
|
+
# ?id = "ORD-2025-002"
|
|
388
|
+
# ?o = :order2
|
|
389
|
+
# ?receipt = genid:fbd10997-9fd6-99ce-fa19-a82424656d08
|
|
390
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
391
|
+
# ----------------------------------------------------------------------
|
|
392
|
+
|
|
393
|
+
genid:fbd10997-9fd6-99ce-fa19-a82424656d08 :forOrder :order2 .
|
|
394
|
+
|
|
395
|
+
# ----------------------------------------------------------------------
|
|
396
|
+
# Proof for derived triple:
|
|
397
|
+
# genid:fbd10997-9fd6-99ce-fa19-a82424656d08 :receiptId "ORD-2025-002" .
|
|
398
|
+
# It holds because the following instance of the rule body is provable:
|
|
399
|
+
# :order2 a :Order .
|
|
400
|
+
# :order2 :id "ORD-2025-002" .
|
|
401
|
+
# ("ORD-2025-002") log:skolem genid:fbd10997-9fd6-99ce-fa19-a82424656d08 .
|
|
402
|
+
# via the schematic forward rule:
|
|
403
|
+
# {
|
|
404
|
+
# ?o a :Order .
|
|
405
|
+
# ?o :id ?id .
|
|
406
|
+
# (?id) log:skolem ?receipt .
|
|
407
|
+
# } => {
|
|
408
|
+
# ?receipt a :Receipt .
|
|
409
|
+
# ?receipt :forOrder ?o .
|
|
410
|
+
# ?receipt :receiptId ?id .
|
|
411
|
+
# } .
|
|
412
|
+
# with substitution (on rule variables):
|
|
413
|
+
# ?id = "ORD-2025-002"
|
|
414
|
+
# ?o = :order2
|
|
415
|
+
# ?receipt = genid:fbd10997-9fd6-99ce-fa19-a82424656d08
|
|
416
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
417
|
+
# ----------------------------------------------------------------------
|
|
418
|
+
|
|
419
|
+
genid:fbd10997-9fd6-99ce-fa19-a82424656d08 :receiptId "ORD-2025-002" .
|
|
420
|
+
|
|
421
|
+
# ----------------------------------------------------------------------
|
|
422
|
+
# Proof for derived triple:
|
|
423
|
+
# genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4 a :Receipt .
|
|
424
|
+
# It holds because the following instance of the rule body is provable:
|
|
425
|
+
# :order1 a :Order .
|
|
426
|
+
# :order1 :id "ORD-2025-001" .
|
|
427
|
+
# ("ORD-2025-001") log:skolem genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4 .
|
|
428
|
+
# via the schematic forward rule:
|
|
429
|
+
# {
|
|
430
|
+
# ?o a :Order .
|
|
431
|
+
# ?o :id ?id .
|
|
432
|
+
# (?id) log:skolem ?receipt .
|
|
433
|
+
# } => {
|
|
434
|
+
# ?receipt a :Receipt .
|
|
435
|
+
# ?receipt :forOrder ?o .
|
|
436
|
+
# ?receipt :receiptId ?id .
|
|
437
|
+
# } .
|
|
438
|
+
# with substitution (on rule variables):
|
|
439
|
+
# ?id = "ORD-2025-001"
|
|
440
|
+
# ?o = :order1
|
|
441
|
+
# ?receipt = genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4
|
|
442
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
443
|
+
# ----------------------------------------------------------------------
|
|
444
|
+
|
|
445
|
+
genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4 a :Receipt .
|
|
446
|
+
|
|
447
|
+
# ----------------------------------------------------------------------
|
|
448
|
+
# Proof for derived triple:
|
|
449
|
+
# genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4 :forOrder :order1 .
|
|
450
|
+
# It holds because the following instance of the rule body is provable:
|
|
451
|
+
# :order1 a :Order .
|
|
452
|
+
# :order1 :id "ORD-2025-001" .
|
|
453
|
+
# ("ORD-2025-001") log:skolem genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4 .
|
|
454
|
+
# via the schematic forward rule:
|
|
455
|
+
# {
|
|
456
|
+
# ?o a :Order .
|
|
457
|
+
# ?o :id ?id .
|
|
458
|
+
# (?id) log:skolem ?receipt .
|
|
459
|
+
# } => {
|
|
460
|
+
# ?receipt a :Receipt .
|
|
461
|
+
# ?receipt :forOrder ?o .
|
|
462
|
+
# ?receipt :receiptId ?id .
|
|
463
|
+
# } .
|
|
464
|
+
# with substitution (on rule variables):
|
|
465
|
+
# ?id = "ORD-2025-001"
|
|
466
|
+
# ?o = :order1
|
|
467
|
+
# ?receipt = genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4
|
|
468
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
469
|
+
# ----------------------------------------------------------------------
|
|
470
|
+
|
|
471
|
+
genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4 :forOrder :order1 .
|
|
472
|
+
|
|
473
|
+
# ----------------------------------------------------------------------
|
|
474
|
+
# Proof for derived triple:
|
|
475
|
+
# genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4 :receiptId "ORD-2025-001" .
|
|
476
|
+
# It holds because the following instance of the rule body is provable:
|
|
477
|
+
# :order1 a :Order .
|
|
478
|
+
# :order1 :id "ORD-2025-001" .
|
|
479
|
+
# ("ORD-2025-001") log:skolem genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4 .
|
|
480
|
+
# via the schematic forward rule:
|
|
481
|
+
# {
|
|
482
|
+
# ?o a :Order .
|
|
483
|
+
# ?o :id ?id .
|
|
484
|
+
# (?id) log:skolem ?receipt .
|
|
485
|
+
# } => {
|
|
486
|
+
# ?receipt a :Receipt .
|
|
487
|
+
# ?receipt :forOrder ?o .
|
|
488
|
+
# ?receipt :receiptId ?id .
|
|
489
|
+
# } .
|
|
490
|
+
# with substitution (on rule variables):
|
|
491
|
+
# ?id = "ORD-2025-001"
|
|
492
|
+
# ?o = :order1
|
|
493
|
+
# ?receipt = genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4
|
|
494
|
+
# Therefore the derived triple above is entailed by the rules and facts.
|
|
495
|
+
# ----------------------------------------------------------------------
|
|
496
|
+
|
|
497
|
+
genid:35d6c1c8-ee0c-5a7a-8ec2-654c5e1b34b4 :receiptId "ORD-2025-001" .
|
|
498
|
+
|