assemblee-virtuelle / semapps

A toolbox to create semantic web applications
https://semapps.org
Apache License 2.0
88 stars 9 forks source link

On ne peut plus passer un URI préfixé pour les filtres #951

Open srosset81 opened 2 years ago

srosset81 commented 2 years ago

Avant le refacto #892, on pouvait passer un filtre avec un préfixe, par exemple apod:Coming.

<ListBase filter={{ 'apods:hasStatus': 'apods:Coming' }} />

Maintenant on est obligé de passer l'URI complet (http://activitypods.org/ns/core#Coming). Cette possibilité était gérée sur cette ligne, qui n'était certes pas très propre:

const object = filter[predicate].startsWith('http') ? `<${filter[predicate]}>` : filter[predicate];

https://github.com/assemblee-virtuelle/semapps/pull/938/files#diff-d5468c759a465c7d7483a6502494d9a032d87b045dd09bd18f1e54e59c7a1fddL24

Est-ce qu'il y a moyen de le remettre @VincentFarcy ?

VincentFarcy commented 2 years ago

J'ai tenté un correctif : https://github.com/assemblee-virtuelle/semapps/commit/46dd94d765a09596bb133b25b3ff6bb8e5e51b8d Je ne suis pas certain que ça suffise : la méthode literal ajoute la valeur de l'objet entre quottes dans le code sparql. @simonLouvet a le même problème avec un autre filtre filter={"aurba:externalDeleted":true} La valeur true est de la même manière générée entre quottes dans le code sparql. J'ai laissé les console.log avec le json en entrée et le code sparql en sortie. @srosset81 Peux-tu tester ton cas sur la branche 951_on_ne_peut_plus_passer_un_URI_prefixe_pour_les_filtres ?

VincentFarcy commented 2 years ago

Après quelques recherches, j'ai vu qu'on pouvait caster les valeurs : Par exemple "true"^^<http://www.w3.org/2001/XMLSchema#boolean> literal accepte un 2ème argument avec le datatype. Qu'en pensez-vous ?