Closed ArielNATAF closed 2 months ago
Donc les appels de Yasr.plugins.TableX.defaults.uriHrefAdapter et bindingSetAdapter ne mènent à rien car elles sont undefined.
Il faut les définir vous même, dans votre page HTML. Voir les exemples dans la doc à http://docs.sparnatural.eu/YasGUI-plugins.html#adapting-the-url-of-the-link, et cet exemple d'utilisation dans une page HTML : https://github.com/sparna-git/sparnatural.eu/blob/main/demos/demo-dbpedia-v2/index.html#L450 (https://sparnatural.eu/demos/demo-dbpedia-v2/)
Merci pour la réponse immédiate!
J'aurais du le préciser, j'ai essayé la méthode de la doc:
Yasr.plugins.TableX.defaults.uriHrefAdapter = function(uri) {
console.log('%cYasr.plugins.TableX.defaults.uriHrefAdapter', 'background: #DE2F62; color: #EDF7BE')
return uri;
};
mais en lançant la query la fonction n'est pas appelée dans le plug-in. Je peux appeler la fonction directement dans ma partie du code mais je n'aurais pas l'argument d'uri isolé. C'est peut être un problème propre à la compilation par Vite.
Je vais probablement faire ma propre fonction avec une regex pour isoler les uri entre < >
et les remplacer en m'inspirant de votre implémentation dans demo-dbpedia-v2/index.html#L450.
D'ailleurs à quoi est du la mauvaise lecture du fichier ttl ? et pourquoi corriger l'uri à l'étape de Yasr et pas directement à l'entrée dans le Yasqe?
J'aurais du le préciser, j'ai essayé la méthode de la doc:
Il faut bien le faire avant de lancer le constructeur de Yasr (new Yasr(...)
), est-ce bien votre cas ?
D'ailleurs à quoi est du la mauvaise lecture du fichier ttl ?
Quelle mauvaise lecture ?
et pourquoi corriger l'uri à l'étape de Yasr et pas directement à l'entrée dans le Yasqe?
Cette fonction adapte les URIs dans le tableau de résultats, pas dans la query. Ce qu'on veut c'est par exemple, quand on a une URI DBPedia, construire une URL vers la page Wikipedia parce que c'est plus sympa pour l'utilisateur. Ca n'a rien à voir avec la query, c'est une pure question de lien de navigation pour l'utilisateur.
Grâce à votre réponse je réalise que j'ai mal compris l'utilisation de la fonction pour commencer. (et qu'il faudrait que je retrouve mes cours de web semantique...)
En revenant à mon premier message :
avec des
<http://ontologies.sparna.fr/sparnatural-demo-dbpedia#Country>
au lieu de<http://dbpedia.org/ontology/Country>
et<http://www.w3.org/2000/01/rdf-schema#label>
.
Quand je parle de lecture du ttl c'est que je n'ai pas le preprocessing vers les bonnes uri dans ma requete ce qui me donne un tableau vide.
Mon intention était d'exécuter la requête avec les uri correctes car la requête que je reçois avec les ontologies.sparna.fr me rend un tableau vide. C'est donc logique que la fonction ne soit jamais appelée car elle n'a aucune URL à construire pour l'utilisateur. En faisant avec les URI correctes j'ai bien des appels de fonctions pour chaque ligne de résultat.
Donc je vais clore le thread car à ça n'a pas sa place dans le dépôt du plug in.
Vous faites un excellent travail.
Bonjour,
Pour le contexte j'essaie d'intégrer sparnatural à mon app en Vuejs 3 et Vite. Mais je rencontre le problème que les URI des entities ne sont pas correctement pré processées. Donc j'essaie d'intégrer votre plug-in pour corriger ce problème. En suivant la doc j'ai réussi à implémenter la première partie pour masquer les URI sur le tableau des résultats.
Toutefois quand j'essaie d'appliquer la partie "Adapting the URL of the link" je fais chou blanc.
Avec
le console.log me retourne l'objet suivant:
Donc les appels de
Yasr.plugins.TableX.defaults.uriHrefAdapter
etbindingSetAdapter
ne mènent à rien car elles sont undefined.Pour illustré mon problème en prenant l'exemple du hello-spar natural avec les musées:
avec des
<http://ontologies.sparna.fr/sparnatural-demo-dbpedia#Country>
au lieu de<http://dbpedia.org/ontology/Country>
et<http://www.w3.org/2000/01/rdf-schema#label>
.Merci pour le travail que vous réalisez et merci aussi d'avance pour votre aide.