2016-04-30 9 views
0

私は化学物質(化合物/物質ではない)に関するインフォボックス内のデータを得るためにDBpediaクエリを作成しようとしてきました。私はthisに似ていますが、要素についてはthisのようなものを目指しています。dbpedia化学元素クエリ

しかし、私は、次のようなクエリ実行するとき:

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

を例に表示されたプロパティのほとんどがさえ表示されません。私は間違って何をしていますか?

+0

DBpediaリソースの接頭辞を使用すると仮定すると、クエリは正常です。そして、それは現在DBpedia - http://dbpedia.org/page/Arsenicで利用可能なすべてをもたらします。 (さらに、 ':ヒ素がオブジェクトであるリンクされたリソースを得ることができます:'?subject?predicate2:ヒ素 ')しかし、実際にはそれが情報の中にあるものよりも少ないことは奇妙です。最後のBDpediaデータセットの作成方法に問題があるのだろうかと思います。 –

+1

ええ、データセットに問題があるようです。私はMediaWikiのAPIを使ってページのinfoboxを抽出できませんでした – Geebs

答えて

1

the source of the Arsenic page on Wikipediaを見ると、データは直接含まれず、代わりに{{Infobox arsenic}}となります。

私はDBpediaがそこからデータを抽出することができないと思うので、役に立たないものはありません。

0

Extract Chemical Data from DBpedia via SPARQL SOの質問は、完全修飾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定義は、名前空間http://dbpedia.org/resource/dbpedia:に置き換えられていること。

+2

http://dbpedia.org/resource/Category:Arsenicは間違っています、それは本当にhttp://dbpedia.org/resource/Arsenicでなければなりません。 – svick

+0

あなたが望むものに依存します。どちらもDBPediaの有効なURIです。 – scotthenninger

関連する問題