私はテーブルにすべての値を与えるSELECTを書こうとしています。私はオプションの値を持っています、もしそれらが存在しなければ、標準値で満たされるようにします。SPARQLは欠落しているフィールドの値を返します
これは私のコードです:
SELECT * WHERE {
?a nmo:hasObject nm:coin
OPTIONAL
{ ?a nmo:hasAuthority ?b }
OPTIONAL
{ ?a nmo:hasMaterial ?c }}
私はIDを、次の何を得る:私が欲しいもの
?a ?b ?c
1 yx
2 ab
3 xz bc
は値がない場合は、「行方不明」文字列でそれを埋めることです。
?a ?b ?c
1 yx "missing"
2 "missing" ab
3 xz bc
この出力を得るためのSELECT構造のアイデアはありますか?
SELECT * WHERE
{ ?a nmo:hasObject nm:coin
OPTIONAL
{ ?a nmo:hasAuthority ?b_tmp }
OPTIONAL
{ ?a nmo:hasMaterial ?c_tmp }
BIND(if(bound(?b_tmp), ?b_tmp, "missing") AS ?b)
BIND(if(bound(?c_tmp), ?c_tmp, "missing") AS ?c)
}
これは完璧です、ありがとうございます! – Xaju