在研究与 SPARQL、rdf 等相关的论文时,通常会提到查询结果的基数……但是,我无法理解基数在这里的真正含义。我是 SPARQL 和 rdf 的新手,所以有人可以解释一下基数在 SPARQL 和 rdf 中的含义吗。
数据库中的基数指的是值的唯一性,对于 SPARQL 及其查询结果来说,基数意味着什么……我真的很困惑。有人请解释。
因为它指的是唯一值,那么最大基数和最小基数是什么意思?
最佳答案
SPARQL 的构造与 SQL 有一些天真的相似之处,但这里没有元组,而是三元组。每个三元组都采用 SPO 主题-谓词-对象的形式(有人说 P 代表属性),并且您可以有一些具体的扩展模型,该模型利用这些索引的组合和上下文的第四个索引。 实际上(只是为了重复使用我之前说过的天真的想法)你可以想象一个巨大的表,每个三元组都有一个元组。因此,此处 DISTINCT 三元组的基数表示关于单个主题的“事实”的基数。您应该会看到与关系模型完全不同的模型。例如,通过 rdf/foaf 获得名字和姓氏的人将类似于(使用 turtle 语法):
@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 个三元组。
抱歉过于简单化了,但希望它有助于开始 :-) 阿尔弗雷多
关于database - SPARQL 中的基数是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10909041/