我有一个包含一些联合的询问查询:
PREFIX foo: <http://example.com/ontologies/MyOntology.owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
ask
{
{
<http://someiri.com> ?b ?c.
filter(!bound(?b)).
}
union
{
?x <http://someiri.com> ?y.
filter(!bound(?x)).
}
union
{
?g ?h <http://someiri.com>.
filter(!bound(?h)).
}
union
{
<http://someiri.com> rdf:type foo:RESTEndPoint
}
}
Run Code Online (Sandbox Code Playgroud)
Ask 语句将如何对待工会?
如果并集中的所有三元组都被评估为真,它会返回真吗?
或者如果它找到至少一个被评估为 true 的三元组,它会返回 true 吗?
基本上,SPARQL ASK 会一直执行,直到发现一种图形模式为 true,否则返回 false。
因此,如果任何 UNION 图模式找到匹配项,则 ASK 结果为 true。如果所有 UNION 图模式都无法找到匹配项,则 ASK 结果为 false。