J'utilise cette ligne dans une requête SPARQL dans mon programme python:Comment utiliser OR logique dans SPARQL regex()?
FILTER regex(?name, "%s", "i")
(où %s
est le texte de recherche saisi par l'utilisateur)
Je veux que cela correspond si l'?name
ou ?featurename
contient %s
, mais je n'arrive pas à trouver de documentation ou de tutoriel pour utiliser regex(). J'ai essayé une ou deux choses qui semblaient raisonnables:
FILTER regex((?name | ?featurename), "%s", "i")
FILTER regex((?name || ?featurename), "%s", "i")
FILTER regex((?name OR ?featurename), "%s", "i")
FILTER regex((?name, ?featurename), "%s", "i")
et chacun de ceux sans ()
FILTER regex(?name, "%s", "i") || regex(?featurename, "%s", "i")
Quelle est la bonne façon de le faire? Merci
MISE À JOUR: Utilisation de UNION fonctionne. Mais je me suis dit que cela fonctionne aussi si vous répéter la partie regex() comme ceci:
FILTER (regex(?name, "%s", "i") || regex(?featurename, "%s", "i"))
Les deux solutions semblent un peu en désordre dans ce que vous devez utiliser un tuple 2 éléments avec des copies de la même chaîne remplir les deux %s
s.