On 25/04/2024 21:58, Günter Dunz-Wolff wrote:
Hi there,
via RESTXQ I request a vectorstore. The response is an JSON-Object.
For example:
With the following curl:
curl https://vector.io/query-data \
-H "Authorization: Bearer ABcFMGhetc" \
-d '{ "data": "Du hast dem Menschen ein so freies, herrliches und
üppiges Leben bestimmt", "topK": 2, "includeVectors": false,
"includeMetadata": true }'
I'm getting this object:
{
"result" : [ {
"id" : "ba02277",
"score" : 0.9949091,
"metadata" :
{"genre":"ba","blatt":"1810-01","autor":"Kleist","titel":"Zoroaster.","link":"https://kleist-digital.de/etc","text":"freies,
herrliches und üppiges Leben bestimmt."}
}, {
"id" : "ba01711",
"score" : 0.8891792,
"metadata" :
{"genre":"ba","blatt":"1810-29","autor":"Ompteda","titel":"Fragmente","link":"https://kleist-digital.de/etc","text":"So
mit dem Menschen im Moralischen."}
} ]
}
<div>
<li>
<ul>
<li><span>Score: </span> <span>result score</span></li>
<li><span>Blatt: </span> <span>result blatt</span></li>
<li><span>Autor: </span> <span>result autor</span></li>
<li><span>Titel: </span> <span>result titel</span></li>
<li><span>Text: </span> <span>result text</span></li>
<li><span>Link: </span> <span>result link</span></li>
</ul>
</li>
<ul>
<li></li>
</ul>
etc.
</div>
Parse the result (if it is not parsed and you have it as JSON string)
with parse-json($result)) then run XQuery like
<div>
{
parse-json($result)?result?*!(let $score := ?score return ?metadata ! <ul>
<li><span>Score: </span> <span>{$score}</span></li>
<li><span>Blatt: </span> <span>{?blatt}</span></li>
<li><span>Autor: </span> <span>{?autor}</span></li>
<li><span>Titel: </span> <span>{?titel}</span></li>
<li><span>Text: </span> <span>{?text}</span></li>
<li><span>Link: </span> <span>{?link}</span></li>
</ul>
)
}
</div>
and it should give you something like
<div>
<ul>
<li>
<span>Score: </span>
<span>0.9949091</span>
</li>
<li>
<span>Blatt: </span>
<span>1810-01</span>
</li>
<li>
<span>Autor: </span>
<span>Kleist</span>
</li>
<li>
<span>Titel: </span>
<span>Zoroaster.</span>
</li>
<li>
<span>Text: </span>
<span>freies, herrliches und üppiges Leben bestimmt.</span>
</li>
<li>
<span>Link: </span>
<span>https://kleist-digital.de/etc</span>
</li>
</ul>
<ul>
<li>
<span>Score: </span>
<span>0.8891792</span>
</li>
<li>
<span>Blatt: </span>
<span>1810-29</span>
</li>
<li>
<span>Autor: </span>
<span>Ompteda</span>
</li>
<li>
<span>Titel: </span>
<span>Fragmente</span>
</li>
<li>
<span>Text: </span>
<span>So mit dem Menschen im Moralischen.</span>
</li>
<li>
<span>Link: </span>
<span>https://kleist-digital.de/etc</span>
</li>
</ul>
</div>
It is not quite the result you showed but I have left out the outer `li`
elements as an li inside a div doesn't make sense
Fiddle
https://bxfiddle.cloud.basexgmbh.de/?share=%28%27query%21%27%3Cdiv%3EH%28H%3Fresult%3F*%27%3A%7Blet+%24V+%3A%3D+%3FV+return+%3Fmetadata+%27_%3CulUScore5%24V3BlattYblatt3AutorYautor3TiwlYtiwl3TextYwxt3LinkYlink%29IJIli%3EHHIul%3EH%7DH%29HIdiv%3E%27%7Econwxt%21%27%28C6resultG%5BW2277z9949091%2CCE-01NautorRKleistNtiwlRZoroaswr.ND6freies%2C+herrliches+und+%C3%BCppiges+Leben+bestimmt.6%29C%29%2CW1711z8891792%2CCE-29NautorROmpwdaNtiwlRFragmenwND6So+mit+dem+Menschen+im+Moralischen.6%29C%29+%5DHH%29%27%7Emode%21%27XQuery+%7BBaseX%7D%27%7EconwxtType%21%27json%27%293%29IJIliU5_IJ+%3CJ%286%5C%27CHHPDlinkRhttps%3A%2F%2Fkleist-digital.de%2FetcNwxt%5C%21EP6metadataG%286genreRbaNblattR1810G6+_H%5CnI%3C%2FJspan%3EN6%2C6P++R%5C%216U%3EHH%5Ct%3Cli%3E%3CJVscoreW+%28CP6idG6ba0Y5%3F_%3A+wtez6%2CCP6VG0.%01zw_YWVURPNJIHGEDC653_