Я пытался сделать запрос DBpedia для получения данных в информационном поле, связанных с химическими элементами (не соединениями / веществами). Я стремлюсь к чему-то похожему на this, но для элементов (например, это ).

Однако, когда я делаю такой запрос:

SELECT * WHERE{
 :Arsenic ?predicate ?object.
}

Большинство свойств, отображаемых в примерах, даже не отображаются. Что я делаю неправильно?

0
Geebs 30 Апр 2016 в 23:19

2 ответа

Лучший ответ

Проблема в том, что когда вы смотрите на источник страницу Arsenic в Википедии, она напрямую не содержит никаких данных, вместо этого она содержит только: {{Infobox arsenic}}.

Я думаю, что DBpedia не может извлечь оттуда данные, поэтому вы не видите ничего полезного.

1
svick 30 Апр 2016 в 21:59

Извлечь химические данные из DBpedia через SPARQL SO вопрос был не так полезно сообщить вам, какие полные URI были в запросе. Но если вы внимательно посмотрите блог, полный URI Arsenic будет указан как http://dbpedia.org/resource/Category:Arsenic. Этот полный URI - это то, что вам нужно. Вы можете использовать это само по себе:

SELECT * 
WHERE {
   <http://dbpedia.org/resource/Category:Arsenic> ?predicate ?object.
}

Проблема в том, что когда вы смотрите на источник страницу Arsenic в Википедии, она напрямую не содержит никаких данных, вместо этого она содержит только: {{X0}}.

PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT * 
WHERE {
   dbpedia:Category:Arsenic ?predicate ?object.
}

Обратите внимание, что в этом случае определение PREFIX заменяет dbpedia: пространством имен http://dbpedia.org/resource/.

0
scotthenninger 30 Апр 2016 в 21:24