2016-02-19 3 views
1

Я использую этот запрос SPARQL для извлечения всех свойств ресурса, например ресурс http://dbpedia.org/resource/Suez. Этот запрос не извлекает все свойства в http://dbpedia.org/page/Suez. Я понимаю, что страница отличается от ресурса.Извлечение всех свойств базы данных DBpedia

Как получить все свойства на странице html?

Вот мой запрос без префиксов:

SELECT DISTINCT ?property ?Label 
WHERE 
{ 
    { 
     <http://dbpedia.org/resource/Suez> ?property ?o . 
    } union 
    { 
     ?o ?property <http://dbpedia.org/resource/Suez> 
    } 
    ?property rdfs:label ?Label. 
    FILTER (lang(?Label) = 'en'). 
} 

ответ

2

Вы не упомянули, какие свойства вы не видите, но вы требуя, чтобы каждое из свойств фактически имеет значение для rdfs: ярлык, и не все они делают. Например, этот запрос возвращает 16 результаты:

select distinct ?property { 
    { dbr:Suez ?property ?o } 
    union 
    { ?s ?property dbr:Suez } 

    filter not exists { ?property rdfs:label ?label } 
} 

SPARQL results

Вам потребуется обновить запрос, чтобы проверить, являются ли свойства имеют метку, а затем взять на английский лейбл, если он есть:

select distinct ?property ?label { 
    { dbr:Suez ?property ?o } 
    union 
    { ?s ?property dbr:Suez } 

    optional { 
    ?property rdfs:label ?label . 
    filter langMatches(lang(?label), 'en') 
    } 
} 

SPARQL results

+0

Да Это была проблема с ярлыком, я проверил количество, возвращенное вашим предлагаемым запросом, на счет количества свойств на странице, и они почти одинаковы, может быть один или два все еще беспорядочно, но свойства, которые мне нужны, так я ответит, Спасибо. –

+0

Если вы укажете, какие свойства, мы можем выяснить, почему они не появляются. Я не уверен, что это пропустит ... –

0

После SPARQL запроса будут отображены все свойства и значения ресурса Suez.

select distinct ?property ?value{ 
    dbr:Suez ?property ?value 
} 

SPARQL Results

Вы можете сравнить результаты вышеупомянутого запроса с фактическими свойствами ресурсов, доступных через любой веб-браузер с помощью link Suez.

Пожалуйста, обратите внимание, как следует о результатах вышеупомянутого запроса:

  1. Свойство с множеством значений будет отображаться несколько раз. Например, свойство «dct: subject» имеет восемь разных значений и, следовательно, будет отображаться восемь раз в результате.

  2. «dbo: abstract» будет отображаться несколько раз в результате для реферата на разных языках.

Надеюсь, что это поможет.

Cheers, Ambi.