J'utilise cette requête pour rechercher toutes les étiquettes qui contiennent le mot « Medi »Comment rechercher rdfs: des étiquettes dans dbpedia qui correspondent partiellement à un terme donné en utilisant SPARQL?
select distinct ?label where
{
?concept rdfs:label ?label
filter contains(?label,"Medi")
filter(langMatches(lang(?label),"en"))
}
Cependant, dès que je change le terme de « Medi » à « Medicare » cela ne fonctionne pas et le temps en dehors. Comment puis-je le faire fonctionner avec des mots plus longs comme Medicare, c'est-à-dire extraire toutes les étiquettes contenant le mot Medicare.
Salut, Je cours réellement dbpedia sur un serveur local. Et je préférerais une solution plus rapide, car être lent signifierait un mauvais UX. Donc, j'ai copié-collé votre Option # 1. Et je revins ceci: 'Virtuoso 37000 Erreur SP030: compilateur SPARQL, ligne 5: erreur de syntaxe à 'étiquette?' Avant 'bif: contient' SPARQL: définir sql: grand-data-const 0 # output- format: text/html définir sql: signal-void-variables 1 SELECT DISTINCT? étiquette WHERE { ? concept rdfs: étiquette? label ? label bif: contient "Medicare" FILTER (langMatches (lang (? label), " en ")) }' Pourriez-vous s'il vous plaît m'aider à déboguer :) –
Ah désolé, j'ai oublié le point après le premier modèle triple. Devrait fonctionner maintenant. – AKSW