什么是基数在SPARQL中意味着什么?

时间:2012-06-06 06:16:13

标签: database rdf sparql

在研究与SPARQL,rdf等相关的论文时,通常会提到查询结果的基数......但是,我无法理解这里的基数是什么意思。我是SPARQL和rdf的新手,所以有人可以解释一下基数在SPARQL和rdf中的含义。

数据库中的基数是指值的唯一性,对于SPARQL,它的查询结果与基数的含义是什么......我真的很困惑。有人请解释一下。

因为它指的是唯一值,那么最大基数和最小基数是什么意思?

1 个答案:

答案 0 :(得分:1)

SPARQL构建为与SQL有一些天真的相似之处,但这里没有元组,而是三元组。每个三元组都是SPO主语 - 谓语 - 对象(有人说P代表属性),你可以有一些具体的扩展模型,它们利用这些索引的组合和上下文的第四个指标。 实际上(只是为了重新使用我之前说过的天真的想法),你可以想象一个巨大的桌子,每个三元组都有一个元组。因此,DISTINCT三元组的基数代表了"事实"的基数。关于单一主题。你应该看到有一个与关系模型完全不同的模型。例如,通过rdf / foaf获得名字和姓氏的人就像(使用乌龟语法):

@prefix foaf:    <http://xmlns.com/foaf/0.1/> .

_:X  foaf:name   "John" .
_:X  foaf:surname   "Doe" 

这里我们有两个三元组。

So a SPARQL query like:
SELECT COUNT(?S) as ?triples
WHERE{
?S ?P ?O.
?S foaf:name ?name.
}

将简单地给出三倍数= 2,因为该主题的关系涉及2个三元组。

对于过度简化感到抱歉,但希望它有助于启动:-) 阿尔弗雷