добавьте оператор XPath в FLOWR, чтобы выбрать узлы "id" из базы данных Twitter - PullRequest
0 голосов
/ 04 февраля 2020

Глядя на поле "id" для базы данных twitter :

thufir@dur:~/flwor$ 
thufir@dur:~/flwor$ basex
BaseX 9.0.1 [Standalone]
Try 'help' to get more information.
> 
> open twitter
Database 'twitter' was opened in 218.67 ms.
> 
> xquery //id
<id type="number">1224165280068382720</id>
<id type="number">60919433</id>
<id type="number">1224160851797643264</id>
<id type="number">60919433</id>
..
<id type="number">14248074</id>
Query executed in 268.13 ms.
> 

, как бы я мог получить тот же результат из оператора FLWOR?

thufir@dur:~/flwor$ 
thufir@dur:~/flwor$ cat id.xq 

for $tweets in db:open("twitter")
let $tweet := $tweets
return <results>{$tweet}</results>

thufir@dur:~/flwor$ 

, который оборачивает все в теги <result>, но все равно дает каждый узел. Как выбирается только узел "id"? Примерить варианты:

  let $tweet := $tweets/id

без положительных результатов. Возможно, потому что в миксе есть JSON?

1 Ответ

0 голосов
/ 04 февраля 2020

идентификаторов снежинок:

thufir@dur:~/flwor/twitter$ 
thufir@dur:~/flwor/twitter$ basex tweetID.xq 
<tweet>
  <id__str>1224165280068382720</id__str>
</tweet>
<tweet>
  <id__str>1224160851797643264</id__str>
</tweet>
<tweet>
  <id__str>1224134565280862208</id__str>
</tweet>
<tweet>
  <id__str>1224133755562086406</id__str>
</tweet>
<tweet>
  <id__str>1224117426364846081</id__str>
</tweet>
<tweet>
  <id__str>1224113562777419777</id__str>
</tweet>
<tweet>
  <id__str>1224083010015956992</id__str>
</tweet>
<tweet>
  <id__str>1224080221663645697</id__str>
</tweet>
<tweet>
  <id__str>1224042214541496320</id__str>
</tweet>
<tweet>
  <id__str>1224041056024645632</id__str>
</tweet>
<tweet>
  <id__str>1224036122344534017</id__str>
</tweet>
<tweet>
  <id__str>1224017759132143616</id__str>
</tweet>
<tweet>
  <id__str>1224016596634603520</id__str>
</tweet>
<tweet>
  <id__str>1224001430417297410</id__str>
</tweet>
<tweet>
  <id__str>1223987662094249991</id__str>
</tweet>
<tweet>
  <id__str>1224165280068382720</id__str>
</tweet>
<tweet>
  <id__str>1224160851797643264</id__str>
</tweet>
<tweet>
  <id__str>1224134565280862208</id__str>
</tweet>
<tweet>
  <id__str>1224133755562086406</id__str>
</tweet>
<tweet>
  <id__str>1224117426364846081</id__str>
</tweet>
<tweet>
  <id__str>1224113562777419777</id__str>
</tweet>
<tweet>
  <id__str>1224083010015956992</id__str>
</tweet>
<tweet>
  <id__str>1224080221663645697</id__str>
</tweet>
<tweet>
  <id__str>1224042214541496320</id__str>
</tweet>
<tweet>
  <id__str>1224041056024645632</id__str>
</tweet>
<tweet>
  <id__str>1224036122344534017</id__str>
</tweet>
<tweet>
  <id__str>1224017759132143616</id__str>
</tweet>
<tweet>
  <id__str>1224016596634603520</id__str>
</tweet>
<tweet>
  <id__str>1224001430417297410</id__str>
</tweet>
<tweet>
  <id__str>1223987662094249991</id__str>
</tweet>
<tweet>
  <id__str>1224165280068382720</id__str>
</tweet>
<tweet>
  <id__str>1224160851797643264</id__str>
</tweet>
<tweet>
  <id__str>1224134565280862208</id__str>
</tweet>
<tweet>
  <id__str>1224133755562086406</id__str>
</tweet>
<tweet>
  <id__str>1224117426364846081</id__str>
</tweet>
<tweet>
  <id__str>1224113562777419777</id__str>
</tweet>
<tweet>
  <id__str>1224083010015956992</id__str>
</tweet>
<tweet>
  <id__str>1224080221663645697</id__str>
</tweet>
<tweet>
  <id__str>1224042214541496320</id__str>
</tweet>
<tweet>
  <id__str>1224041056024645632</id__str>
</tweet>
<tweet>
  <id__str>1224036122344534017</id__str>
</tweet>
<tweet>
  <id__str>1224017759132143616</id__str>
</tweet>
<tweet>
  <id__str>1224016596634603520</id__str>
</tweet>
<tweet>
  <id__str>1224001430417297410</id__str>
</tweet>
<tweet>
  <id__str>1223987662094249991</id__str>
</tweet>
<tweet>
  <id__str>1224165280068382720</id__str>
</tweet>
<tweet>
  <id__str>1224160851797643264</id__str>
</tweet>
<tweet>
  <id__str>1224134565280862208</id__str>
</tweet>
<tweet>
  <id__str>1224133755562086406</id__str>
</tweet>
<tweet>
  <id__str>1224117426364846081</id__str>
</tweet>
<tweet>
  <id__str>1224113562777419777</id__str>
</tweet>
<tweet>
  <id__str>1224083010015956992</id__str>
</tweet>
<tweet>
  <id__str>1224080221663645697</id__str>
</tweet>
<tweet>
  <id__str>1224042214541496320</id__str>
</tweet>
<tweet>
  <id__str>1224041056024645632</id__str>
</tweet>
<tweet>
  <id__str>1224036122344534017</id__str>
</tweet>
<tweet>
  <id__str>1224017759132143616</id__str>
</tweet>
<tweet>
  <id__str>1224016596634603520</id__str>
</tweet>
<tweet>
  <id__str>1224001430417297410</id__str>
</tweet>
<tweet>
  <id__str>1223987662094249991</id__str>
</tweet>
<tweet>
  <id__str>1224165280068382720</id__str>
</tweet>
<tweet>
  <id__str>1224160851797643264</id__str>
</tweet>
<tweet>
  <id__str>1224134565280862208</id__str>
</tweet>
<tweet>
  <id__str>1224133755562086406</id__str>
</tweet>
<tweet>
  <id__str>1224117426364846081</id__str>
</tweet>
<tweet>
  <id__str>1224113562777419777</id__str>
</tweet>
<tweet>
  <id__str>1224083010015956992</id__str>
</tweet>
<tweet>
  <id__str>1224080221663645697</id__str>
</tweet>
<tweet>
  <id__str>1224042214541496320</id__str>
</tweet>
<tweet>
  <id__str>1224041056024645632</id__str>
</tweet>
<tweet>
  <id__str>1224036122344534017</id__str>
</tweet>
<tweet>
  <id__str>1224017759132143616</id__str>
</tweet>
<tweet>
  <id__str>1224016596634603520</id__str>
</tweet>
<tweet>
  <id__str>1224001430417297410</id__str>
</tweet>
<tweet>
  <id__str>1223987662094249991</id__str>
</tweet>thufir@dur:~/flwor/twitter$ 
thufir@dur:~/flwor/twitter$ 
thufir@dur:~/flwor/twitter$ cat tweetID.xq 
for $tweets  in db:open("twitter")
return <tweet>{$tweets/json/id__str}</tweet>
thufir@dur:~/flwor/twitter$ 
thufir@dur:~/flwor/twitter$ 

FLWOR:

for $tweets  in db:open("twitter")
return <tweet>{$tweets/json/id__str}</tweet>
...