奥德赛:优化联邦SPARQL查询的有效途径
1. 基数估计与连接优化
在处理查询时,对于像Listing 1.3中的查询,属性 dbo:director 连接了多对表示电影和演员的特征集(CS)。此时需要计算 Σf1∧f2 count((Ci, Cj, dbo:director)) ,其中 f1 为 ({dbo:runtime, dbo:director, dbo:budget} ⊆Ci) , f2 为 ({dbo:birthDate, dbo:activeYearsStartYear, foaf:name} ⊆Cj) 。在DBpedia 3.5.1中,有1,509个特征对(CP)通过 dbo:director 属性连接两个CS中的实体。
若查询不涉及 DISTINCT 修饰符,结果基数估计会考虑CS中属性的出现次数,计算公式如下:
estimatedCardinality((Pk, Pl, p)) =
∑ Pk⊆Ci∧Pl⊆Cj [
count((Ci, Cj, p))
* ∏ pk∈Pk−{p} [ occurrences(pk, Ci) / count(Ci) ]
* ∏ pl∈Pl [ occurrences(pl, Cj) / count(Cj) ]
]
在对星型子查
超级会员免费看
订阅专栏 解锁全文
1055

被折叠的 条评论
为什么被折叠?



