|
|
@ -227,11 +227,17 @@ function App() {
|
|
|
|
<h2>Not sure what to run?</h2>
|
|
|
|
<h2>Not sure what to run?</h2>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
<a onClick={() => {
|
|
|
|
<a onClick={() => {
|
|
|
|
setQueryText(`parent[] <- [['joseph', 'jakob'],
|
|
|
|
setQueryText(`parent[] <- [['abraham', 'isaac'],
|
|
|
|
['jakob', 'issac'],
|
|
|
|
['isaac', 'jakob'],
|
|
|
|
['issac', 'abraham']]
|
|
|
|
['jakob', 'joseph']]
|
|
|
|
grandparent[gcld, gp] := parent[gcld, p], parent[p, gp]
|
|
|
|
grandparent[A, C] := parent[A, B], parent[B, C]
|
|
|
|
?[who] := grandparent[who, 'abraham']`)
|
|
|
|
great_grandparent[A, D] := parent[A, B], parent[B, C], parent[C, D]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# This is the output query
|
|
|
|
|
|
|
|
?[who] := great_grandparent['abraham', who] # => 'joseph'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Any position in the relation may be queried
|
|
|
|
|
|
|
|
# ?[who] := great_grandparent[who, 'joseph'] # => 'abraham'`)
|
|
|
|
}}>Here</a> is a classical example recursive example.
|
|
|
|
}}>Here</a> is a classical example recursive example.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|