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_

Reply via email to