我有以下Xquery代码:
for $w in $words
let $freq := (count($corpus[. eq $w]) div count($content2[text() eq $w]))
order by $freq descending
return <tr><td>{$w}</td><td>{$freq}</td></tr>
Run Code Online (Sandbox Code Playgroud)
$words是一些出现(可能多次出现)的不同单词$corpus.$content2是另一袋话.变量和除法并不重要.
这xquery列出了有序的单词的一些频率计算.
我想要做的是将结果限制为10.我试图使用位置值,但因为它给了我单词列表中单词的位置,它没有成功...
有帮助吗?
Chr*_*rün 17
结果的数量可以例如限制如下:
(for $w in $words
let $freq := (count($corpus[. eq $w]) div count($content2[text() eq $w]))
order by $freq descending
return <tr><td>{$w}</td><td>{$freq}</td></tr>
)[position() = 1 to 10]
Run Code Online (Sandbox Code Playgroud)
使用subsequence($sequence, $start, $records)返回结果的一个子集,开始记录$start(从1感知的XQuery计数)返回records项目。查看“限制结果集”XQuery 维基教科书页面。如何应用从该页面复制的函数的示例:
let $sorted-people :=
for $person in collection($collection)/person
order by $person/last-name/text()
return $person
for $person at $count in subsequence($sorted-people, $start, $records)
return
<li>{ $person/last-name/text() }</li>
Run Code Online (Sandbox Code Playgroud)