2016-06-29 11 views
1

私はすべてのデータをa city's climate tableで入手できるデータセットを取得しようとしていますが、何か問題があります。気象データをdbpediaで都市に登録するにはどうすればよいですか?

私はこれを動作させることができ、自分自身についてかなり良いと感じました。 dbpedia's virtuoso clientにこれを接続すると、dbpediaが持つすべての都市とそのすべての国が表示されます。

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 
SELECT DISTINCT ?city_name ?country 
WHERE { ?city rdf:type dbpedia-owl:City ; 
      rdfs:label ?city_name; 
      dbpedia-owl:country ?country 
    FILTER (langMatches(lang(?city_name), "EN")) . 
} 

アップデート:私は、私は(例えばdbpedia.org/property/aprHighC)を探していますが、私は私の出力に追加するトラブルを抱えているものを与えるように見える性質を発見しました。

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 
SELECT DISTINCT ?city_name ?country ?aprHighC 
WHERE { ?city rdf:type dbpedia-owl:City . 
    ?city rdfs:label ?city_name . 
    ?city dbpedia-owl:country ?country 
FILTER (langMatches(lang(?city_name), "EN")) . 
} 

エラー:Variable 'aprHighC' is used in the query result set but not assignedを返します。それをどのように割り当てますか?

+2

私はこのプロパティがDBpediaで使われているとは思わない。 'SELECT * {?s dbo:気候?気候}を試してみてください。結果が得られないことがわかります。または、 'dbo:climate'のドメインである' dbo:Place'のリソースページを開き、気候に関連するプロパティを見つけようとします。 –

+3

私はこれらのテーブルがDBpedia抽出フレームワークによって処理されるとは思わない。私はそのようなデータを抽出するためのいくつかの進行中の研究があるが、今のところデータは主にWikipediaエントリーページの右側の情報ボックスから来る。あるいは気候データはどこから取得しましたか? – AKSW

+0

小さな更新をしました。誰かが新しい問題についての情報を持っていますか? – Phil

答えて

0

次のクエリは、1月の平均日高(°C)を示します。他の気候項目を追加するのは、「OPTIONAL」で始まる行をコピーし、項目や変数名をjanHighCから取得しようとしているものに変更するだけです。

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 
SELECT * { 
{ ?city rdf:type dbo:City . 
?city rdf:type schema:City . 
?city rdfs:label ?name 
} 
OPTIONAL {?city dbp:janHighC ?janHighC .} 
} 

ただし、ほとんどの都市ではこの情報はありません。私はこのようにデータを取得することをあきらめなければならなかった。

2

2番目のクエリでクエリを取得するクエリの場合、都市はrdfs:label,dbpedia-owl:countryおよびdbpedia-owl:climateの3つのプロパティを持つ必要があります。あなたの質問は、DBPediaのデータにはラベルや国の属性を持つ都市がありますが、気候はほとんどないことが証明されています。 dbpedia-owl:Cityのないすべてのメンバーは、これらの性質を持つことになります

SELECT DISTINCT ?p 
WHERE { 
    ?city rdf:type dbpedia-owl:City ; 
     ?p ?o . 
} 

注意を、それはあなたのプロパティが使用されているものの範囲を提供します:プロパティがdbpedia-owl:Cityのメンバーのために発見されただけのものを見るために、次の試してみてください。プレフィックスが1あなたよりも異なっていること、それはケースかもしれないので

SELECT ?s 
WHERE { 
    ?s dbpedia-owl:climate ?climate 
} 

私は、いずれかを見つけることができませんでした:それを他の方法を探し

、あなたはエンティティがdbpedia-owl:climateプロパティを使用しているもの尋ねることができます使っている?私はプロパティ名をダブルチェックすることをお勧めします。

それにかかわらず、SPARQLを使用して実際にデータストアにあるものを見つけることをお勧めします。 LIMITを使用すると、システムを圧倒することなくデータの一部を見ることができます。

+0

最初のクエリは本当に役に立ちました!私が探しているプロパティはすべてここにあると思うので(例えばaprHighC)、私はそれらをそのように引き出そうとしています。質問を更新したら、質問を更新するか、回答を投稿する必要がありますか? – Phil

+0

確かに、気軽に更新してください。 – scotthenninger

関連する問題