2017-02-27 5 views
1

サブジェクトのリストによって共有されるすべての述語+オブジェクトを取得するにはどうすればよいですか?これらのサブジェクトの述語/オブジェクトについては何も知らないのですか?ウィキデータから、この例のクエリで
見てみましょう:SPARQL - サブジェクトのリストの相互オブジェクトを返す

SELECT ?chancellor WHERE{ 
    ?chancellor wdt:P39 wd:Q4970706. #P39 = position held, Q4970706 = Chancellor of Germany 
} 

Link to this query.

このクエリは、ドイツのすべての元一等書記官を返します。
今私はすべての議長が共通して持つすべての述語+オブジェクトを返したいと思います。すべての科目は人間の一例であり、ドイツなどで生まれています。
これは簡単なことだと思います。しかし、私は分かりません。

答えて

4

これは良い方法です。ここの近くにヒットです:これは、すべての一等書記官を取り、そのプロパティと値

prefix wdt: <http://www.wikidata.org/prop/direct/> 
prefix wd: <http://www.wikidata.org/entity/> 

select ?p ?o (count(distinct ?chancellor) as ?cs) where { 
    ?chancellor wdt:P39 wd:Q4970706. 
    ?chancellor ?p ?o . 
} 
group by ?p ?o 
order by desc(?cs) 

Link to query

。プロップ/ヴァルあたりのチャンセラー数を数えます。

注文すると、最も一般的なprop/valが上部に表示されます。

あなたが望むのは、すべての大統領にとって唯一の結果です。私たちは簡単に十分な1つのクエリ内の一等書記官の数を取得し、2つを固執することができます:

prefix wdt: <http://www.wikidata.org/prop/direct/> 
prefix wd: <http://www.wikidata.org/entity/> 

select ?p ?o where { 
    { 
     # Find number of chancellors 
     select (count(?chancellor) as ?num_chancellors) where { 
      ?chancellor wdt:P39 wd:Q4970706 
     } 
    } 
    { 
     # Find number of chancellors per predicate/value 
     select ?p ?o (count(distinct ?chancellor) as ?chancellor_count) where { 
      ?chancellor wdt:P39 wd:Q4970706. 
      ?chancellor ?p ?o . 
     } 
     group by ?p ?o 
    } 
    # Choose results all chancellors share 
    filter (?num_chancellors = ?chancellor_count) 
} 

Link to query

私はこれがあなたが欲しいと思うと思います。それほどきれいではない、私は告白する。

+0

すばらしい答え!アプローチ#1も面白いです! #2はまさに私が望んでいたものです。 – rinderwahn

+0

クエリの結果が面白くないのは残念です。 - /最初の例でカウントするのではなくgroup_concatを使うと、有用なバリエーションであるpropanc/valを共有するチャンセラーが分かります。 – user205512

0

SPARQLとRDFの面白い点は、クエリに関するデータについて何も知る必要がないことです。あなたの場合、トリプルパターン?chancellor ?p ?o .を追加し、?p?oを選択することをお勧めします。そこから探しているプロパティを選択できます。 ?chancellorの一部にそのプロパティ値がない場合は、OPTIONALを必ず使用してください。

+1

彼は、首相が共通するすべての述語+オブジェクトタプルを取得したいと思っています。私はあなたがその質問に答えたとは思いません。 – AKSW

+0

@AKSWと同じように、これは私が探しているものではありません。 – rinderwahn

関連する問題