2016-08-27 8 views
0

Я хочу получить объект, являющийся ресурсом (см. Предикат hasAgentWithRole ниже).Получение значения предиката RDF, когда он указывает на ресурс

Документ (упрощенный, чтобы проиллюстрировать мою проблему):

<?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:

enter image description here

+0

'... /. \ Alt.rq' - обратная косая черта является незаконной в URI. – AndyS

ответ

2

Возникает ли ошибка с текущими данными и запросом, указанными в вопросе? Как раз из исключения, вы можете видеть, что в наборе результатов есть некорректный IRI file:///C:/Users/abartoli/.... Я полагаю, что это не ресурс в ваших данных. Это означает, что у вас есть ресурсы с относительным IRI, которые разрешают документ, если базовый IRI не указан.

+0

Там, должно быть, была опечатка. Просто запустил запрос в другом документе RDF без проблем. – Anthony

+0

Хорошо, рад слышать, что он работает сейчас! – AKSW