Pour un projet de moteur de recherche universitaire, j'utilise MonetDB avec les extensions Tijah. J'ai une liste de nœuds, retour d'une chaîne de recherche:Afficher une liste d'éléments et de scores sans utiliser de fonction récursive dans XQuery avec les extensions Tijah
let $qid := tijah:queryall-id($nexi)
let $nodes := tijah:nodes($qid)
$nodes
contient maintenant une liste d'éléments, par exemple:
<book>Design Patterns</book>
<book>AntiPatterns</book>
je peux calculer et retourner les scores de cette liste avec l'expression FLWOR suivante:
for $book in $nodes
let $score := tijah:score($qid, $book)
order by $score descending
return <book score="{$score}">{$book/title}</book>
Toutefois, je souhaite utiliser la liste des nœuds dans une nouvelle requête de recherche. Pour ce faire, je dois générer une chaîne de cette liste avec la mise en forme suivante:.
Design Patterns {0.2937} Antipatterns {0.43984}
Dans cette mise en forme des scores (retournés par tijah:score
et les noms sont combinés je voulais générer cette chaîne avec une fonction récursive , mais le moteur Algèbre MonetDB je dois utiliser ne prend pas en charge les fonctions récursives.
Puis-je générer le même résultat avec une expression?