2016-07-05 5 views
0

Я новый в семантической сети. Я хотел бы получить все объекты/значения для Microsoft из DBPedia, используя запрос SPARQL и сохранить результат в формате RDF. Я сделал запрос на http://dbpedia.org/sparql, который хорошо работает и возвращает все пары/значение относительно Microsoft.The код выглядит следующим образом:Как создать модель RDF из данных DBPedia с использованием SPARQL

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 

select * where 
{{ <http://dbpedia.org/resource/Microsoft> ?property ?value } 
    UNION 
{?property ?value <http://dbpedia.org/resource/Microsoft>}} 

То, что я хочу, чтобы создать формат RDF для результатов. Я прочитал учебник по https://www.w3.org/TR/rdf-sparql-query/#construct и понял, что это можно сделать с помощью запроса CONSTRUCT. Я изменил SELECT на CONSTRUCT, но это не сработало. Если возможно, вы могли бы рассказать мне, что такое моя ошибка, и как я могу применить CONSTRUCT к моему запросу, чтобы получить модель RDF из запроса? Заранее спасибо!

+0

Не видя запроса CONSTRUCT, как мы можем сказать, что не так? – AKSW

+0

@AKSW это мой запрос: CONSTRUCT {? Property? Value} где {{? Property? Value} UNION {? Property? Value }} – learner

+0

Итак, похоже, что вы действительно не понимали SPARQL и RDF. В первой части вы определяете тройки, которые будут содержаться в результате, поэтому в вашем случае, очевидно, объект ('') отсутствует. Это приводит меня ко второй проблеме, вы должны использовать URI свойств, иначе они относительны. То есть в этом примере отсутствует протокол, т. е. он должен быть ''. Более того, синтаксис неверен, поскольку у вас есть две точки с запятой, которых не должно быть. – AKSW

ответ

0

Для того, чтобы получить более четкое разграничение фактических троек вы извлекаемые, я хотел бы предложить изменения переменных следующим образом:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 

select * where 
{{ <http://dbpedia.org/resource/Microsoft> ?property ?value } 
    UNION 
{?subject ?property <http://dbpedia.org/resource/Microsoft>}} 

А что касается формата результата, просто выберите «Черепаху» или " RDF/XML "вместо" HTML "из меню результатов интерфейса SPARQL.

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

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