三分钟学会RDF图数据库查询语言:SPARQL

 

SPARQL 是一种类似于 SQL 的 RDF 数据查询语言。SPARQL 查询可以生成表格或 RDF 图的结果集,具体取决于所使用的查询类型。

  • SELECT与 SQL SELECT 类似,因为它生成表格结果集。

  • CONSTRUCT根据查询结果创建一个新的 RDF 图。

  • ASK根据查询是否有解决方案返回 Yes 或 No。

  • DESCRIBE返回有关资源的 RDF 图数据。当查询客户端不知道数据源中 RDF 数据的结构时,这当然很有用。

  • INSERT将三元组添加到图形中,

  • DELETE从图中删除三元组。


让我们使用 SPARQL(RDF 图的查询语言)来创建一个图。

要编写创建 RDF 图的 SPARQL 查询,请执行以下步骤:

首先,使用关键字为 URI 定义前缀PREFIX。在下面的例子中,我们设置bedrock为查询的默认命名空间。

接下来,使用表示您要插入语句。编写主谓宾语句。INSERT DATA

最后,执行这个查询:

正如您在灰色框中显示的示例中看到的那样,我们编写了一个查询,其中包括PREFIX、 和几个主题谓词对象语句,它们是:INSERT DATA

Fred 有配偶 Wilma,Fred 有孩子 Pebbles,Wilma 有孩子 Pebbles,Pebbles 有配偶 Bamm-Bamm,Pebbles 有孩子 Roxy 和 Chip。

现在,让我们编写一个 SPARQL 查询来访问您刚创建的 RDF 图

首先,使用关键字为 URI 定义前缀PREFIX。与前面的示例一样,我们将其设置 bedrock为查询的默认命名空间。

接下来,使用SELECT表示您要选择某些信息,并用WHERE表示您的条件、限制和过滤器。

最后,执行这个查询:

正如您在灰色框中显示的示例中所见,我们编写了一个 SPARQL 查询,其中包含 PREFIXSELECTWHERE。红色框显示响应书面查询而返回的信息。我们可以看到 Fred、Pebbles、Wilma、Roxy 和 Chip 之间的家庭关系。

 

SPARQL 与 SQL 非常相似,但是,与 SQL 需要 SQL schema和 SQL 表中的数据不同,SPARQL 可以在图形上使用,并且不需要一开始就定义好schema。

在下面的示例中,我们将使用 SPARQL 来查明 Fred 是否有孙辈

首先,使用关键字为 URI 定义前缀PREFIX

接下来,我们用ASK发现 Fred 是否有孙子,并WHERE表示条件。

正如您在绿色框中的查询中所见,Fred 的孩子的孩子是他的孙辈。因此,通过匹配 Fred 的孩子然后匹配他孩子的孩子,可以很容易地用 SPARQL 编写查询。查询ASK返回“是”,所以我们知道 Fred 有孙子。

相反,如果我们想要 Fred 的孙辈列表,我们可以将ASK查询更改为一个SELECT

查询结果,反映在红色框中,告诉我们 Fred 的孙子是 Roxy 和 Chip。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值