我对RDF / SPARQL比较陌生,我正试图将一些N-Quad,4列/四列数据导入并查询到Blazegraph(参见schemaOrgEvent.sample.txt)。
当我导入Quads数据(Web控制台)时,我只剩下基于三元组的3列元组数据,即Blazegraph只允许SPARQL查询选择{?s?p?o},但是四重选择{ ?s?p?o?c},不要。 我做错了什么???
Blazegraph能否原生存储4列Quad数据,还是我误解了RDF / Triple / Quad存储的性质?
com.bigdata.rdf.store.AbstractTripleStore.quads=true
此外,导入的四元数据以及三元组(标准化???)似乎将第1列转换为另一列,Blazegraph提供的(?),标识符,原始(Quad)数据格式为(4 -columns)
_: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'是排序的'外键',可用于链接到其他三元组(即在导入日期内重复)。
答案 0 :(得分:5)
SPARQL查询RDF三元组。 Quad数据存储的第四个维度是图形。 RDF可以分为三元组的单独图形,类似于数据库中的表格。您可以使用以下内容查询Quad商店:
SELECT *
WHERE {
GRAPH ?g {
?s ?p ?o
}
}