генерация rdf из конечной точки sparql с использованием ARC2 в php

#php #rdf #store #sparql

#php #rdf #Магазин #sparql

Вопрос:

у меня есть хранилище sparql, и я хотел бы знать, как сгенерировать файл rdf из хранилища sparql с использованием ARC2 в php.

Я пытался с помощью sparql store dump(), но он возвращается обратно в виде xml. Любой анализатор, который я могу использовать для преобразования этого xml в rdf, поможет.

Комментарии:

1. Можете ли вы показать фрагмент выгруженного XML-файла? Весьма вероятно, что это RDF / XML, который является RDF

2. <sparql xmlns=» w3.org/2005/sparql-results # «> <результаты> <результат> <имя привязки=»s»> <uri> <a rel="nofollow noreferrer noopener" href="https:///abc.com/onto#c_4da6b71ea3489 abc.com/onto#c_4da6b71ea3489 </uri > </binding> <имя привязки=»p»> <uri> <a rel="nofollow noreferrer noopener" href="https:///www.w3.org/1999/02/22-rdf-syntax-ns#type w3.org/1999/02/22-rdf-syntax-ns#type </uri > </binding> <имя привязки=»o»> <uri> <a rel="nofollow noreferrer noopener" href="https:///www.w3.org/2004/02/skos/core#Concept w3.org/2004/02/skos/core#Concept </uri > </binding> <имя привязки=»g»> <uri> <a rel="nofollow noreferrer noopener" href="https:///abc.com/rdfgraph abc.com/rdfgraph </uri > </binding> </result> <результат> …. </result> </sparql>

Ответ №1:

Хорошо, итак, на выходе вы получаете XML-результаты SPARQL, которые представляют собой дамп SPOG (т. Е. на основе Quads) хранилища.

Вы должны быть в состоянии преобразовать это в тройки, а затем сериализовать их как RDF самостоятельно, но для этого потребуется немного кодирования.

Я не очень хорошо знаю PHP или ARC2, поэтому я бы посоветовал просмотреть документацию по адресуhttps://github.com/semsol/arc2/wiki или запрос в их списке рассылки по адресу http://groups.google.com/group/arc-dev

Ответ №2:

Для генерации RDF из SPARQL вы используете КОНСТРУКТИВНЫЙ запрос.

Обычный ВЫБОР выглядит следующим образом: (я пропускаю биты ПРЕФИКСА)

 SELECT ?person ?email 
 WHERE { ?person a foaf:Person . ?person foaf:mbox ?email }
  

И это повторяет XML, который вы видите. Вы хотите что-то вроде:

 CONSTRUCT { ?person a foaf:Person . ?person foaf:mbox ?email }
 WHERE { ?person a foaf:Person . ?person foaf:mbox ?email }
  

Который создаст график троек из результатов в WHERE. Вы даже можете использовать это для создания троек, которых не было в конечной точке, но которые основаны на тех же данных.