1

我对 RDF/SPARQL 比较陌生,我正在尝试将一些 N-Quad、4 列/四重数据导入并查询到Blazegraph(参见schemaOrgEvent.sample.txt)。

当我导入 Quads 数据(Web 控制台)时,我只剩下基于三元组的 3 列元组数据,即 Blazegraph 只允许 SPARQL 查询 SELECTing {?s ?p ?o},但四元组选择 {?s ? p ?o ?c},不要。我究竟做错了什么???

Blazegraph 可以本地存储 4 列 Quad 数据,还是我误解了 RDF/Triple/Quad 存储的本质?

此外,导入的四元组数据以及变成三元组(归一化???)似乎将第 1 列转换为另一个 Blazegraph 提供的(?)标识符,原始(四元组)数据格式为(4 列)

_:node03f536f724c9d62eb9acac3ef91faa9 <http://schema.org/PostalAddress/addressRegion> "Kentucky"@en <http://concerts.eventful.com/Lauren-Alaina> .

导入后(3 列):

t1702   schema:PostalAddress/addressRegion  Kentucky

谁的查询是:

SELECT * WHERE
{
    ?s ?p ?o
    #?s ?p ?o ?c - Won't work :-(
    FILTER(STR(?o)="Kentucky")
}

't1702' 值是某种“外键”,可用于链接到其他三元组(即在导入日期内重复)。

4

1 回答 1

5

SPARQL 查询 RDF 三元组。Quad 数据存储的第四个维度是图形。RDF 可以分为三元组的单独图,类似于数据库中的表。您可以使用以下内容查询 Quad 商店:

SELECT *
WHERE {
   GRAPH ?g {
      ?s ?p ?o
   }
}
于 2016-06-30T13:16:14.060 回答