Условная конструкция в SPARQL - PullRequest
0 голосов
/ 19 февраля 2019

Мне было интересно, можно ли условно создать некоторую часть предложения конструкции.Например, предположим, что у нас есть следующий запрос конструкции:

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

В этом случае? B не всегда привязан к чему-либо.Я хочу создать только пустой узел -: a, если? B ограничен.Есть ли способ добавить такие условия в предложении конструкции sparql?

1 Ответ

0 голосов
/ 20 февраля 2019

Вы можете создать bnode условно в предложении WHERE, поместив его внутри ДОПОЛНИТЕЛЬНО:

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