2017-06-04 2 views
0

テストクエリを実行しようとしています。式から割り当てられた変数に基づいてフィルタを適用したいと思います。バラク・オバマが生まれる前に米国の大統領を見つけるためのテスト・クエリーがあります:結果は得られません。離れfilter(minTermStart < ?birthDate)を取る式からの変数によるフィルタ

は以下を与える:

filter(minTermStart < \"1961-08-03\"^^xsd:date)を使用して
           president minTermStart birthDate 
1  <http://dbpedia.org/resource/John_Quincy_Adams> -5527303492 -265456800 
2  <http://dbpedia.org/resource/William_Howard_Taft> -2454919492 -265456800 
3  <http://dbpedia.org/resource/William_McKinley> -2929428292 -265456800 
4   <http://dbpedia.org/resource/Woodrow_Wilson> -1860573600 -265456800 
5  <http://dbpedia.org/resource/Chester_A._Arthur> -3439706692 -265456800 
6   <http://dbpedia.org/resource/James_Monroe> -5653274692 -265456800 
7   <http://dbpedia.org/resource/Zachary_Taylor> -3813041092 -265456800 
8   <http://dbpedia.org/resource/Calvin_Coolidge> -1703757600 -265456800 
9   <http://dbpedia.org/resource/John_F._Kennedy> -725709600 -265456800 
10 <http://dbpedia.org/resource/Franklin_D._Roosevelt> -1792317600 -265456800 
11   <http://dbpedia.org/resource/George_W._Bush> 790261200 -265456800 
12   <http://dbpedia.org/resource/Gerald_Ford> -662551200 -265456800 
13   <http://dbpedia.org/resource/Barack_Obama> 852642000 -265456800 
14   <http://dbpedia.org/resource/Bill_Clinton> 221058000 -265456800 
15  <http://dbpedia.org/resource/Abraham_Lincoln> -3876199492 -265456800 
16   <http://dbpedia.org/resource/Richard_Nixon> -725709600 -265456800 
17  <http://dbpedia.org/resource/Millard_Fillmore> -4317962692 -265456800 
18 <http://dbpedia.org/resource/Rutherford_B._Hayes> -3308119492 -265456800 
19  <http://dbpedia.org/resource/Warren_G._Harding> -2082016800 -265456800 
20  <http://dbpedia.org/resource/Thomas_Jefferson> -6138929092 -265456800 
21  <http://dbpedia.org/resource/Martin_Van_Buren> -4696653892 -265456800 
22   <http://dbpedia.org/resource/Herbert_Hoover> -1540893600 -265456800 
23   <http://dbpedia.org/resource/Jimmy_Carter> -219837600 -265456800 
24   <http://dbpedia.org/resource/James_K._Polk> -4570423492 -265456800 
25  <http://dbpedia.org/resource/Lyndon_B._Johnson> -1032861600 -265456800 
26 <http://dbpedia.org/resource/Dwight_D._Eisenhower> -777981600 -265456800 
27  <http://dbpedia.org/resource/George_Washington> -6142471492 -265456800 
28   <http://dbpedia.org/resource/James_Buchanan> -4696653892 -265456800 
29    <http://dbpedia.org/resource/John_Tyler> -4829537092 -265456800 
30   <http://dbpedia.org/resource/Ronald_Reagan> -94644000 -265456800 
31  <http://dbpedia.org/resource/James_A._Garfield> -3371277892 -265456800 
32 <http://dbpedia.org/resource/William_Henry_Harrison> -5412391492 -265456800 
33    <http://dbpedia.org/resource/John_Adams> -6142471492 -265456800 
34  <http://dbpedia.org/resource/George_H._W._Bush> -94557600 -265456800 
35   <http://dbpedia.org/resource/Andrew_Johnson> -4002429892 -265456800 
36   <http://dbpedia.org/resource/James_Madison> -5959130692 -265456800 
37  <http://dbpedia.org/resource/Benjamin_Harrison> -2803197892 -265456800 
38  <http://dbpedia.org/resource/Ulysses_S._Grant> -3339223492 -265456800 
39   <http://dbpedia.org/resource/Andrew_Jackson> -5461725892 -265456800 
40  <http://dbpedia.org/resource/Grover_Cleveland> -2776932292 -265456800 
41  <http://dbpedia.org/resource/Franklin_Pierce> -4317962692 -265456800 
42  <http://dbpedia.org/resource/Harry_S._Truman> -1356256800 -265456800 
43  <http://dbpedia.org/resource/Theodore_Roosevelt> -2777018692 -265456800 

も何の結果を与えませんでした。 フィルタ式が機能しないのはなぜですか?私は何を逃したのですか?

答えて

0

「結果を与えない」?

あなたのクエリがないコンパイルを行い、そして、あなたはhttp://dbpedia.org/sparql上でそれを実行した場合、エラーにつながる:

  1. minTermStartは、それがtermStart代わり
PREFIX dbc: <http://dbpedia.org/resource/Category:> 
PREFIX dct: <http://purl.org/dc/terms/> 
PREFIX db: <http://dbpedia.org/resource/> 
PREFIX dbprop: <http://dbpedia.org/property/> 

SELECT ?president (MIN(?termStart) AS ?minTermStart) ?birthDate 
WHERE 
    { db:Barack_Obama 
       dbprop:birthDate ?birthDate . 
    ?president dct:subject  dbc:Presidents_of_the_United_States ; 
       dbprop:termStart ?termStart 
    FILTER (?termStart < ?birthDate) 
    } 
GROUP BY ?president ?birthDate 
にする必要があり ?
  • が欠落しています

    rを取得する場所からも明確ではありませんフィルターなしで実行すると、私の場合は次のようになります(サンプル)

    +-------------------------------------------------+--------------+------------+ 
    |     president     | minTermStart | birthDate | 
    +-------------------------------------------------+--------------+------------+ 
    | http://dbpedia.org/resource/John_Quincy_Adams | 1794-11-06 | 1961-08-04 | 
    | http://dbpedia.org/resource/William_Howard_Taft | 1892-03-17 | 1961-08-04 | 
    | http://dbpedia.org/resource/William_McKinley | 1877-03-04 | 1961-08-04 | 
    | http://dbpedia.org/resource/Woodrow_Wilson  | 1911-01-17 | 1961-08-04 | 
    | http://dbpedia.org/resource/Chester_A._Arthur | 1861-01-01 | 1961-08-04 | 
    | http://dbpedia.org/resource/James_Monroe  | 1790-11-09 | 1961-08-04 | 
    | http://dbpedia.org/resource/Zachary_Taylor  | 1849-03-04 | 1961-08-04 | 
    | ...            | ...   | ...  | 
    +-------------------------------------------------+--------------+------------+ 
    
  • +0

    ありがとうございます。$ minTermStart変数を使用してフィルターする方法はありますか? – bot3663369

    +0

    フィルタは何ですか?結果は同じではありませんか?結果は同じではありませんか? birthDateの前にある 'termStart'の値があれば、そのデータの前にあるすべてのtermStart値の最小値もあります。または違いは何ですか? – AKSW

    +0

    それ以外の場合は、集計関数の値をフィルタリングするために 'HAVING'を使うことができます。' SELECT ... WHERE {...} GROUP BY ... HAVING(?minTermStart AKSW

    関連する問題