2013-11-26 3 views
0

У меня вопрос с использованием запросов WSO2 DSS и SPARQL в Fedora Commons. На данный момент я запускаю WSO2 DSS с моего настольного компьютера и получаю его как службу localhost. Моя конечная точка SPARQL - это удаленный сервер, который запускает приложение с открытым исходным кодом Fedora Commons, требует базовой проверки подлинности для предварительного запроса и принимает входные данные через запросы GET или POST с содержимым запроса, помещенного в «запрос» var. Ради этого примера, мы будем сказать, что конечная точка URL я пытаюсь запрос выглядит следующим образом:SPARQL Вопросы запроса в WSO2 DSS

http://fedoraAdmin:[email protected]:8080/fedora/risearch?lang=sparql 

Запрос Я пытаюсь запустить работы в тестовой странице Fedora ресурсы Индексы запросов службы и выглядит следующим образом:

PREFIX fedora: <info:fedora/fedora-system:def/relations-external#> 
SELECT ?pid 
FROM <#ri> 
WHERE { 
    ?pid fedora:isMemberOfCollection <info:fedora/islandora:root> 
} 

в каком-то момент я хотел бы заменить идентификатор «islandora: корень» с парами запроса, но это не важно в данный момент. Результат выше взгляд запроса что-то вроде этого:

<sparql> 
    <head> 
     <variable name="pid"/> 
    </head> 
    <results> 
     <result> 
      <pid uri="info:fedora/islandora:sp_basic_image_collection"/> 
     </result> 
     <result> 
      <pid uri="info:fedora/islandora:sp_large_image_collection"/> 
     </result> 
     <result> 
      <pid uri="info:fedora/islandora:70"/> 
     </result> 
     <result> 
      <pid uri="info:fedora/rick:1"/> 
     </result> 
     <result> 
      <pid uri="info:fedora/islandora:419"/> 
     </result> 
     <result> 
      <pid uri="info:fedora/islandora:420"/> 
     </result> 
    </results> 
</sparql> 

Учитывая выше ситуации и выходных данных, я создал службу данных в WSO2 DSS, похожее на следующее:

<data name="FedoraSPARQL"> 
    <config id="FedoraDEVServer"> 
     <property name="rdf_datasource">http://fedoraAdmin:[email protected]:8080/fedora/risearch?lang=sparql</property> 
    </config> 
    <query id="getMemberOfCollection" useConfig="FedoraDEVServer"> 
     <sparql><![CDATA[PREFIX fedora: <info:fedora/fedora-system:def/relations-external#> SELECT ?pid FROM <#ri> WHERE {?pid fedora:isMemberOfCollection <info:fedora/islandora:root>}]]></sparql> 
     <result element="results" rowName="result"> 
      <element column="pid" name="pid" xsdType="string"/> 
     </result> 
     <param name="targetPID" sqlType="STRING"/> 
    </query> 
    <operation name="getMemberOfCollection"> 
     <description>Returns the collection objects under islandora:root</description> 
     <call-query href="getMemberOfCollection"> 
      <with-param name="targetPID" query-param="targetPID"/> 
     </call-query> 
    </operation> 
</data> 

В настоящее время я m испытывает 401 Unauthorized, вероятно, из-за ошибки опечатки или форматирования в строке подключения или того факта, что WSO2 DSS не может подключиться к конечной точке SPARQL, требующей аутентификации. Мой вопрос здесь в том, как сделать приведенную выше работу источника данных с учетом моей текущей настройки? Если я не могу получить аутентификацию, работающую с DSS, у меня есть возможность полностью обходить аутентификацию, если WSO2 DSS работает с другого сервера. Предполагая, что это может быть сделано для работы, какое изменение мне нужно сделать, чтобы использовать параметр запроса «targetPID» вместо используемой в настоящее время строки «islandora: root»?

ответ

0

А, думаю, я вижу проблему с этим подходом. Вау, я совершенно неправильно понял, что должно делать операция источника данных RDF. Забавно, как больше кофе стремится сделать вещи немного яснее.

При просмотре конфигурации «Редактировать источник данных» я вижу, что имя свойства «rdf_datasource» в конфигурации XML указано как «Расположение файлов RDF» в мастере редактора источника данных. Это заставляет меня думать, что DSS не отправляет какие-либо запросы на сервер Fedora, как я надеялся, но выполняет запрос (локально) по ранее существующему RDF-результату, который он ожидает загрузить с сервера Fedora.

Я думаю, мне нужно реструктурировать это как источник веб-данных, чтобы получить результат, которого я ожидаю.

 Смежные вопросы

  • Нет связанных вопросов^_^