質問

私はOpenDataで新しく、いくつかの助けが必要です。Wikipediaには、このURLにSPARQLエンドポイントがあります。 http://dbpedia.org/sparql これで、DBPediaからいくつかのRDFファイルを取得するためにWebサービスを書く必要があります。RDFファイルを取得するには、このエンドポイントに送信する必要がありますか?

役に立ちましたか?

解決

construct queryを送信します。少し例:

CONSTRUCT { ?s ?p ?o }
WHERE { ?s ?p ?o }
LIMIT 10
.

WHERE句は、SELECTのみのもののように機能します.CONCULTブロックを一種のテンプレートとして入力します。それは非常に柔軟です - ここで文章をコピーするか、それらをまったく異なる形に変換することができます。

他のヒント

答えたDannyが正しい一般的な答えです。しかし、結果を得ることが期待される時間のために、外部サービスを介してそのようなクエリを実行することをお勧めしません。コンクリートリソースの上にそれをしなさい

もちろん、クエリ結果を手動で保存する必要なく直接それをしたい場合は、Pythonでは、コードは次のようになります。

from SPARQLWrapper import SPARQLWrapper, XML

uri = "http://dbpedia.org/resource/Asturias"
query = "CONSTRUCT { <%s> ?p ?o } WHERE { <%s> ?p ?o }" % (uri, uri)

sparql = SPARQLWrapper("http://dbpedia.org/sparql")
sparql.setQuery(query)
sparql.setReturnFormat(XML)
results = sparql.query().convert()

file = open("output.rdf", "w")
results.serialize(destination=file, format="xml")
file.flush()
file.close()
. もちろん、これはあなたが好むので、これはほとんどすべてのプログラミング言語で行うことができます。

Bob Ducharmeの「SPARQLの学習」本を読んでお勧めします。DBPEDIAエンドポイントを利用するいくつかの例もカバーしています。

PS:ウィキペディアのSPARQLエンドポイントではありません - DBPedia Sparqlエンドポイントです(ウィキペディア自体は独自のSPARQLエンドポイントATMを提供していません)。ただし、DBPEDIAデータはウィキペディアデータに依存しています。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top