是否可以在通过组合变量和文字而创建的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>,但是还有另一种方法可以将变量和文字“胶合在一起”吗?

最佳答案

使用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 .
}

09-27 20:43
查看更多