语义网实际上是如何工作的?

How does the semantic web actually work?

我知道在 Web 中有很多页面相互链接,您可以从一个页面转到另一个页面等等。

语义网是如何工作的?我知道它使用关联数据的概念,其中数据由 URI 或 IRI 识别和链接,而不是网页本身。但我不明白当所有数据都存储在本地三元组中并在三元组内部链接时,数据如何在网络上链接。浏览器是否能够在幕后从 triplestore 转到 triplestore 并取回各种数据?或者数据实际上是如何关联的?是否有一种机制可以在整个网络上从一个数据到另一个数据,并在现实生活中使用数据的含义,或者有一个工具可以做这样的事情?

此外,任何人都可以创建本体并以各种不同的方式定义和描述任何事物。这不会导致数据大乱吗?

所以,主要问题:

语义网和喜欢的数据实际上是如何工作的?

这是一个棘手的多方面问题。

首先我会回答你们中的一些问题。

But I don't understand how the data is linked across the web when all of the data is stored in local triplestores and are linked internally in the triplestores

首先,重要的是要认识到三元组不是必需的。您可以有 SQL 个服务器和 D2RQ/R2RML mapping on top to translate queries dynamically. Or plain RDF files. Or simple JSON documents in MongoDB, etc, which you extend by adding a JSON-LD @context

重要的是,您以 RDF 格式之一提供数据,例如 turtle 或 JSON-LD

Are browsers capable to go from triplestore to triplestore behind the scenes and get back all kinds of data?

看,他们不必这样做,因为正如您提到的,使用 URI 以便浏览器(不一定是 Web 浏览器)可以下载数据。当然,这些 URI 是 URL,并且是 dereferenceable。否则它们只是标识符。

Or how is the data actually linked?

它只是通过重复使用对象和属性的标识符来链接。这就是使用 URI (IRI) 的原因,因此标识符是全局唯一的,并且在域内私下创建。当然,创建 URI 是别人的域存在恶作剧的风险。不过这是一个单独的主题。

Is there a mechanism to go from data to data all across the web and use the meaning of data in real life situations, or a tool that does something like this?

一种简单的机制是简单地抓取 RDF 数据并下载到本地存储。匹配标识符的简单出现将数据组合成更大的数据集,需要更少的映射工作。这当然是理论上的,因为您冒着数据可能损坏、不正确或重复的风险,因此您需要一些管理。存在的技术可以帮助您做到这一点,而您不会体验到传统数据仓库。搜索引擎从 HTML 页面 (RFDa/Microdata) 中获取语义标记的方式类似。

另一种选择是使用 federated queries。 SPARQL 能够自动下载 RDF 数据并在内存中对其执行查询。

最后但同样重要的是,有联合查询使用 Triple Pattern Fragments

现在关于语义网

正如我所写,问题并不那么简单。你问的最多的是 Linked Data。语义网不止于此:

  • ontologies/taxonomies
  • 推理
  • 规则
  • semantic/faceted 搜索

希望我在一定程度上回答了你的问题。