Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions ch2.md
Original file line number Diff line number Diff line change
Expand Up @@ -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的数据**

Expand Down Expand Up @@ -819,7 +819,7 @@ SELECT ?personName WHERE {
?usa :name "United States". # SPARQL
```

SPARQL是一种很好的查询语言——哪怕语义网从未实现,它仍然可以成为一种应用程序内部使用的强大工具
SPARQL是一种很好的查询语言—尽管SPARQL从未实现语义网,但是它仍然是一种应用程序内部使用的强大工具

> #### 图形数据库与网状模型相比较
>
Expand All @@ -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]。

Expand Down