繁体   English   中英

SPARQL中的条件构造

[英]Conditional construct in SPARQL

我想知道是否有可能有条件地创建构造子句的某些部分。 例如,假设我们有以下构造查询:

Construct {-:a a <smth:classtype>.
           -:a <smth:attr> ?b} WHERE
          {?c a <smth:anotherCalss>.
           Optional{?c <smth:anotherAttr> ?b}}

在这种情况下,?b并不总是与smth有关。 我想只创建一个空白节点 - :if?b是有界的。 有没有办法在sparql的construct子句中添加这样的条件?

您可以通过将其放在OPTIONAL中来有条件地在WHERE子句中创建bnode:

CONSTRUCT {?BN a <smth:classtype>.
           ?BN <smth:attr> ?b}
WHERE
          {?c a <smth:anotherCalss>.
            Optional
              {?c <smth:anotherAttr> ?b
               BIND(BNODE()AS ?BN)
              }
           }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM