Regex SPARQL ASK查询中的多个条件

Regex SPARQL ASK查询中的多个条件,regex,sparql,multiple-conditions,Regex,Sparql,Multiple Conditions,我需要在SPARQL ASK查询中包含几个条件 我试过了-- 嵌套一些ASK查询 嵌套SELECT语句内ASKquery 只需将所有条件放入ASKquery --但答案总是错的 我已经一个接一个地检查了所有的条件,它正在工作,所以问题只是在查询构造中 这大概就是我想要的: PREFIX m: <http://data.linkedmdb.org/resource/movie/> ASK { ?kraj m:country "United Kingdom

我需要在SPARQL ASK查询中包含几个条件

我试过了--

  • 嵌套一些
    ASK
    查询
  • 嵌套
    SELECT
    语句内
    ASK
    query
  • 只需将所有条件放入
    ASK
    query
--但答案总是错的

我已经一个接一个地检查了所有的条件,它正在工作,所以问题只是在查询构造中

这大概就是我想要的:

PREFIX m: <http://data.linkedmdb.org/resource/movie/>
ASK
  {
    ?kraj  m:country        "United Kingdom".
    ?rez   m:director_name  ?rezyser .
    FILTER regex(?rezyser, "James", "i")
  }
前缀m:
问
{
?kraj m:国家“联合王国”。
rez m:导演的名字?rezyser。
过滤正则表达式(?rezyser,“James”,“i”)
}

我怎样才能让它工作

如果您只是在任何SPARQL查询的
WHERE
子句中放置多个子句,那么您要求必须满足所有这些子句才能返回答案

听起来你真正想知道的是,如果这些子句中的任何得到满足,那么你需要使用
联合
操作符,例如

PREFIX m: <http://data.linkedmdb.org/resource/movie/>
ASK
{
  {
    ?kraj m:country "United Kingdom".
  }
  UNION
  {
    ?rez m:director_name ?rezyser.
    FILTER regex(?rezyser, "James", "i")
  }
}
ASK
{
  {
    # Clause 1
  }
  UNION
  {
    # Clause 2
  }
  UNION
  {
    # Clause 3
  }
  UNION
  {
    # Clause 4
  }
}