是否可以在通过组合变量和文字创建的SPARQL三元组中创建主题?
我的情况是这样的:
OPTIONAL
{
$object dc:identifier $identifier .
<info:fedora/abc:123/MODS> fedora-view:disseminationType $mods .
<info:fedora/abc:123/TN> fedora-view:disseminationType $tn
}
$ object如下所示:<info:fedora/abc:123>
$ identifier如下所示:abc:123
我需要的是:<info:fedora/abc:123/MODS>
我不能使用<info:fedora/$identifier/MODS>
,但还有另一种方法可以将变量和文字“粘合”在一起吗?
答案 0 :(得分:7)
使用SPARQL 1.1,你应该能够使用BIND(),STR(),IRI()和CONCAT()的组合来做你想要的。类似的东西:
SELECT * WHERE {
$object dc:identifier $identifier .
BIND(IRI(CONCAT(STR($object), "/MODS")) AS $new)
$new fedora-view:disseminationType $mods .
$new fedora-view:disseminationType $tn .
}