如何在SPARQL中查找包括某个单词的所有标题

问题描述 投票:0回答:1
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX leg: <http://www.legislation.gov.uk/def/legislation/>

SELECT *
WHERE {
  ?x leg:title ?y.
  FILTER(?y in ("Education Act 2002"))
}

通过此查询,我可以准确匹配

Education Act 2002
,但我希望能够匹配它,即使我只有“教育”一词。

关于如何做到这一点有什么建议吗?

sparql
1个回答
0
投票

IN
关键字用于在一组值中搜索。

对于字符串模式匹配,您可以使用

REGEX
函数:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX leg: <http://www.legislation.gov.uk/def/legislation/>

SELECT *
WHERE {
  ?x leg:title ?y.
  FILTER(regex(?y,"Education")) # this matches any string containing the word "Education"
}
© www.soinside.com 2019 - 2024. All rights reserved.