获取 RDF 谓词指向资源时的值

Getting the value of a RDF predicate when it points to a resource

我想获取一个作为资源的对象(请参阅下面的 "hasAgentWithRole" 谓词)。

文档(简化说明我的问题):

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:ns0="http://purl.org/dc/terms/"
  xmlns:ns1="http://tw.rpi.edu/schema/">
  <rdf:Description rdf:about="http://abstractsearch.agu.org/meetings/2014/FM/S54A-06">
    <ns0:identifier>ID</ns0:identifier>
    <ns1:hasAgentWithRole rdf:resource="http://abstractsearch.agu.org/meetings/2014/FM/S54A-06/author1"/>
  </rdf:Description>
</rdf:RDF>

查询:

PREFIX  ns1:  <http://tw.rpi.edu/schema/>
SELECT  ?author_uri
WHERE
{ <http://abstractsearch.agu.org/meetings/2014/FM/S54A-06> ns1:hasAgentWithRole ?author_uri}

我想获取 hasAgentWithRole 谓词中包含的资源值:http://abstractsearch.agu.org/meetings/2014/FM/S54A-06/author1

但是,我当前使用 arq 的查询抛出 IRIImplException:

错误是否真的出现在问题中显示的当前数据和查询中?仅从异常中,您可以看到在结果集中有一些格式错误的 IRI file:///C:/Users/abartoli/... 我猜它不是您数据中的资源。这意味着如果没有给出基本 IRI,你有一个具有相对 IRI 的资源,它解析为文档。