sparql - 如何将 4 列 N-Quad 四元组导入和查询到 Blazegraph?

标签 sparql rdf graph-databases triplestore blazegraph

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

当我导入 Quads 数据(网络控制台)时,我只剩下基于三元组的 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”是一种“外键”,可用于链接到其他三元组(即它在导入日期内重复)。

最佳答案

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

SELECT *
WHERE {
   GRAPH ?g {
      ?s ?p ?o
   }
}

关于sparql - 如何将 4 列 N-Quad 四元组导入和查询到 Blazegraph?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38112473/

相关文章:

java - 尝试使用 Jena 的 java api 创建 Sparql 查询

SPARQL CONCAT() 和 STR() 与 CONSTRUCT

Neo4j-密码 : merge duplicate relationships

java - 在 Java 的 NEO4J 中按名称选择节点

database - AWS Neptune DB 与 Dynamo DB 的实体沿袭

sparql - 获取项目的所有 DISTINCT 标签

sparql - 如何按限定符显示或过滤?

sparql - 如何使用 geonames ID 丰富地点

tree - 来自主题的 sparql 完整树

rdf - 如何从 Freebase 获取所有电影 ID 的列表?