在研究与 SPARQL、rdf 等相关的论文时,通常会提到查询结果的基数……但是,我无法理解基数在这里的真正含义。我是 SPARQL 和 rdf 的新手,所以有人可以解释一下 SPARQL 和 rdf 中的基数是什么意思。
数据库中的基数是指值的唯一性,对 SPARQL 及其查询结果的基数意味着什么……我真的很困惑。有人请解释一下。
由于它指的是唯一值,那么最大基数和最小基数是什么意思?
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 个三元组。
很抱歉过于简单化了,但希望它有助于开始:-) Alfredo