我一直在試圖做一個DBpedia查詢來獲取有關化學元素(而不是化合物/物質)的信息框中的數據。我瞄準的東西類似於this,但對於元素(如this)。dbpedia化學元素查詢
然而,當我做類似下面的查詢:
SELECT * WHERE{
:Arsenic ?predicate ?object.
}
在大多數例子中顯示的性能甚至不露面。我做錯了什麼?
我一直在試圖做一個DBpedia查詢來獲取有關化學元素(而不是化合物/物質)的信息框中的數據。我瞄準的東西類似於this,但對於元素(如this)。dbpedia化學元素查詢
然而,當我做類似下面的查詢:
SELECT * WHERE{
:Arsenic ?predicate ?object.
}
在大多數例子中顯示的性能甚至不露面。我做錯了什麼?
問題是,當你看着the source of the Arsenic page on Wikipedia,它不直接包含任何數據,而只是:{{Infobox arsenic}}
。
我認爲DBpedia無法從那裏提取數據,這就是爲什麼你沒有看到有用的東西。
Extract Chemical Data from DBpedia via SPARQL這個問題不太好讓你知道在查詢中的完全限定的URI是什麼。但是如果您仔細查看博客,砷的完整URI列爲http://dbpedia.org/resource/Category:Arsenic
。完整的URI就是你需要的。您可以使用本身:
SELECT *
WHERE {
<http://dbpedia.org/resource/Category:Arsenic> ?predicate ?object.
}
...或者定義一個前綴爲DBpedia的資源命名空間:在這種情況下
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT *
WHERE {
dbpedia:Category:Arsenic ?predicate ?object.
}
注意,PREFIX
定義替換dbpedia:
與命名空間http://dbpedia.org/resource/
。
http://dbpedia.org/resource/Category:Arsenic是錯誤的,它應該是http://dbpedia.org/resource/Arsenic。 – svick
取決於你想要什麼。兩者都是DBPedia中的有效URI。 – scotthenninger
假設您使用DBpedia資源的前綴,您的查詢是好的。它帶來了DBpedia中的所有可用功能 - http://dbpedia.org/page/Arsenic。 (另外,你可以得到鏈接的資源,其中':砷是對象:'?subject?predicate2:砷「)。但是它確實比信息框中的內容少。我想知道這可能是最後一個BDpedia數據集創建方式的問題。 –
是的,它似乎可能只是與數據集的問題。我無法使用MediaWiki api提取頁面的信息框,要麼是 – Geebs