All files / apps/web/src/utils sparql.js

100% Statements 6/6
100% Branches 8/8
100% Functions 3/3
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17                  4x 4x 4x 8x   4x    
// Utilitaires SPARQL côté frontend (KB sémantique).
 
/**
 * Convertit une réponse SPARQL 1.1 JSON (`application/sparql-results+json`)
 * en `{ vars, rows }` pour affichage tabulaire.
 * @param {{ head?: { vars?: string[] }, results?: { bindings?: object[] } }} data
 * @returns {{ vars: string[], rows: string[][] }}
 */
export function sparqlResultToRows(data) {
  const vars = data?.head?.vars || [];
  const bindings = data?.results?.bindings || [];
  const rows = bindings.map((binding) =>
    vars.map((v) => (binding && binding[v] ? binding[v].value : ''))
  );
  return { vars, rows };
}