在询问查询中使用联合 (Sparql)
Using union in ask query (Sparql)
我有一个询问查询,里面有一些联合:
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
}
}
询问声明将如何对待工会?
如果联合中的所有三元组都被评估为真,它会return为真吗?
或者如果它找到至少一个被评估为真的三元组,它将 return 为真?
基本上,SPARQL ASK 会一直执行,直到发现一个图形模式为真,否则 returns 为假。
因此,如果任何 UNION 图形模式找到匹配项,则 ASK 结果为真。如果所有 UNION 图形模式都找不到匹配项,则 ASK 结果为 false。
我有一个询问查询,里面有一些联合:
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
}
}
询问声明将如何对待工会?
如果联合中的所有三元组都被评估为真,它会return为真吗?
或者如果它找到至少一个被评估为真的三元组,它将 return 为真?
基本上,SPARQL ASK 会一直执行,直到发现一个图形模式为真,否则 returns 为假。
因此,如果任何 UNION 图形模式找到匹配项,则 ASK 结果为真。如果所有 UNION 图形模式都找不到匹配项,则 ASK 结果为 false。