我对 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 存储的本质?
- 我的 Blazegraph架构/知识数据库(导入),是为 QUAD 配置的:
com.bigdata.rdf.store.AbstractTripleStore.quads=true
- 我已经导入了 Quads-file进入Blazegraph使用基于网络的更新控制台 @ http://127.0.0.1:9999/bigdata/#update .我没直接试过bulk upload还没有。
此外,导入的四元组数据,以及成为三元组(规范化???),似乎已将第 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/