diff --git a/ch2.md b/ch2.md index 3b0d4a3..965a3cc 100644 --- a/ch2.md +++ b/ch2.md @@ -740,21 +740,21 @@ _:usa a :Loaction; :name "United States"; :type "country"; :within _:namer _:namerica a :Location; :name "North America"; :type "continent". ``` -#### 语义网络 +#### 语义网 -如果你阅读更多关于三元组存储的信息,你可能会被卷入关于语义网络的文章漩涡中。三元组存储数据模型完全独立于语义网络,例如,Datomic【40】是三元组存储[^vii],并没有声称与它有任何关系。但是,由于在很多人眼中这两者紧密相连,我们应该简要地讨论一下。 +如果你阅读更多关于三元组存储的信息,你可能会被卷入关于语义网的文章漩涡中。三元组存储数据模型完全独立于语义网,例如,Datomic【40】是三元组存储[^vii],并没有声称与它有任何关系。但是,由于在很多人眼中这两者紧密相连,我们应该简要地讨论一下。 [^vii]: 从技术上讲,Datomic使用的是五元组而不是三元组,两个额外的字段是用于版本控制的元数据 -从本质上讲语义网是一个简单且合理的想法:网站已经将信息发布为文字和图片供人类阅读,为什么不将信息作为机器可读的数据也发布给计算机呢?**资源描述框架**(RDF)【41】的目的是作为不同网站以一致的格式发布数据的一种机制,允许来自不同网站的数据自动合并成**一个数据网络** - 一种互联网范围内的“关于一切的数据库“。 +从本质上讲语义网是一个简单且合理的想法:网站已经将信息发布为文字和图片供人类阅读,为什么不将信息作为机器可读的数据也发布给计算机呢?**资源描述框架**(RDF)【41】的目的是作为不同网站以统一的数据格式发布的一种机制,允许来自不同网站的数据自动合并成**一个数据网络** - 一种互联网范围内的“通用语义网数据库“。 不幸的是,这个语义网在二十一世纪初被过度使用,但到目前为止没有任何迹象表明已在实践中实现,这使得许多人嗤之以鼻。它还遭受了过多的令人眼花缭乱的缩略词,过于复杂的标准提议和狂妄自大的苦果。 -然而,如果仔细观察这些失败,语义Web项目还是拥有很多优秀的工作成果。即使你没有兴趣在语义网上发布RDF数据,三元组也可以成为应用程序的良好内部数据模型。 +然而,如果从过去的失败中汲取教训,语义网项目还是拥有很多优秀的成果。即使你没有兴趣在语义网上发布RDF数据,三元组这种模型也是一种应用程序内部好的数据模型。 #### RDF数据模型 -[例2-7]()中使用的Turtle语言是一种用于RDF数据的人可读格式。有时候,RDF也可以以XML格式编写,不过完成同样的事情会相对啰嗦,请参阅[例2-8]()。Turtle/N3是更可取的,因为它更容易阅读,像Apache Jena 【42】这样的工具可以根据需要在不同的RDF格式之间进行自动转换。 +[例2-7]()中使用的Turtle语言是一种用于RDF数据的人类可读格式。有时候,RDF也可以以XML格式编写,不过完成同样的事情会相对啰嗦,请参阅[例2-8]()。Turtle/N3是更可取的,因为它更容易阅读,像Apache Jena 【42】这样的工具可以根据需要在不同的RDF格式之间进行自动转换。 **例2-8 用RDF/XML语法表示例2-7的数据** @@ -819,7 +819,7 @@ SELECT ?personName WHERE { ?usa :name "United States". # SPARQL ``` -SPARQL是一种很好的查询语言——哪怕语义网从未实现,它仍然可以成为一种应用程序内部使用的强大工具。 +SPARQL是一种很好的查询语言—尽管SPARQL从未实现语义网,它仍然是一种应用程序内部使用的强大工具。 > #### 图形数据库与网状模型相比较 > @@ -836,7 +836,7 @@ SPARQL是一种很好的查询语言——哪怕语义网从未实现,它仍 ### 基础:Datalog -**Datalog**是比SPARQL或Cypher更古老的语言,在20世纪80年代被学者广泛研究【44,45,46】。它在软件工程师中不太知名,但是它是重要的,因为它为以后的查询语言提供了基础。 +**Datalog**是比SPARQL与Cypher更古老的语言,在20世纪80年代被学者广泛研究【44,45,46】。它在软件工程师中不太知名,但是它是重要的,因为它为以后的查询语言提供了基础。 在实践中,Datalog被用于少数的数据系统中:例如,它是Datomic 【40】的查询语言,Cascalog 【47】是一种用于查询Hadoop大数据集的Datalog实现[^viii]。