Update ch2.md

This commit is contained in:
Panmax 2019-11-20 16:46:55 +08:00 committed by GitHub
parent 1285655702
commit 4d18bcc38c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

2
ch2.md
View File

@ -883,7 +883,7 @@ migrated(Name, BornIn, LivingIn) :- name(Person, Name), /* Rule 3 */
```
Cypher和SPARQL使用SELECT立即跳转但是Datalog一次只进行一小步。我们定义**规则**,以将新谓语告诉数据库:在这里,我们定义了两个新的谓语,`_recursive`和`migrated`。这些谓语不是存储在数据库中的三元组中,而是它们是从数据或其他规则派生而来的。规则可以引用其他规则,就像函数可以调用其他函数或者递归地调用自己一样。像这样,复杂的查询可以一次构建其中的一小块。
Cypher和SPARQL使用SELECT立即跳转但是Datalog一次只进行一小步。我们定义**规则**,以将新谓语告诉数据库:在这里,我们定义了两个新的谓语,`within_recursive`和`migrated`。这些谓语不是存储在数据库中的三元组中,而是它们是从数据或其他规则派生而来的。规则可以引用其他规则,就像函数可以调用其他函数或者递归地调用自己一样。像这样,复杂的查询可以一次构建其中的一小块。
在规则中以大写字母开头的单词是变量谓语则用Cypher和SPARQL的方式一样来匹配。例如`name(Location, Name)`通过变量绑定`Location = namerica`和`Name ='North America'`可以匹配三元组`name(namerica, 'North America')`。