阅读Web-Scale Datasets 论文的交互式分析时,我遇到了重复和定义级别的概念。
虽然我理解这两个的必要性,以便能够消除出现的歧义,但它为每个值附加了重复和定义级别。
我不清楚的是他们如何计算水平......
它说:
考虑图 2 中的字段代码。它在 r1 中出现了 3 次。出现“en-us”和“en”在第一个名称中,而“en-gb”出现在第三个名称中。为了消除这些情况的歧义,我们为每个值附加了一个重复级别。它告诉我们该值在字段路径中的哪个重复字段中重复。
字段路径 Name.Language.Code 包含两个重复的字段,名称和语言。因此,代码的重复级别介于 0 和 2 之间;级别 0 表示新记录的开始。现在假设我们正在自上而下地扫描记录 r1。当我们遇到'en-us' 时,我们没有看到任何重复的字段,即重复级别为0。当我们看到'en' 时,字段Language 已经重复,所以repetitionlevel 为2。
Name.Language.Code
在r1
拥有en-us
和en
价值观方面,我无法绕过它。虽然是第一个r = 0
,第二个r = 2
是因为重复了两个定义?(语言和代码) ?
如果它是:
Name
Language
Code: en-us
Name
Language
Code: en
Name
Language
Code: en-gb
可不可能是 ?
0 2
1 2
2 2
定义级别。具有路径 p 的字段的每个值,特别是。每个 NULL 都有一个定义级别,指定 p 中有多少可以未定义的字段(因为它们是可选的或重复的)实际上存在于记录中。
那么为什么定义级别是 2 呢?路径不是Name.Language
包含两个字段Code
并且Country
只有 1optional\repeated
吗?