xml - SPARQL:将变量与文字组合

标签 xml variables sparql triplestore

是否可以在通过组合变量和文字创建的 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 .
}

关于xml - SPARQL:将变量与文字组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9282846/

相关文章:

java - 尝试使用 jena 创建 SPARQL 查询时出现 NoSuchMethod

xml - 将 XML 数据存储在 mongodb 集合中

java - 在 java 中使用 Xerces DOMParser 进行嵌套 xml 解析

javascript - JS/ANGULAR 使用 var 的值作为另一个对象的键

jquery - 如何使用 JQuery 定位变量的子级

sparql - 如何在TDB中查询具体型号?

java - 在 Jena 中以编程方式创建 BIND 子句

xml - Golang xml marshal 追加更深的项目?

Java Stax Iterator API方法实现

c - 在函数之间传递参数