で私は現在、以下のようないくつかの基本的な要求を起動するhttp://dbpedia.org/snorqlウェブサイトを使用しています:フィルタリングSPARQL結果日と月
PREFIX dbpedia0: <http://dbpedia.org/ontology/>
SELECT ?body ?value WHERE {
?body a dbpedia0:Person.
?body dbpedia0:birthDate ?value.
}
ORDER BY ?value
私は唯一の人々ように結果をフィルタリングする方法を見つけるしたいと思いますX
月Y
で生まれました(出生年に関係なく)。
1)基本的なフィルタリング:私のような多くのアプローチでそうしようとしている... FILTER(xsd:date(?value) = "2000-01-01"^^xsd:date)
しかし、私はどのように正確に私が年を気にしないということになりましたしません
2)MONTH()
とDAY()
の関数を使用して、月と日を表す整数値にする必要があります。しかし、これらの関数は、日付型が無効な入力引数であると考えられています。
3)日付を文字列変数に変換します。そして、この文字列変数の末尾の文字(月と日に対応)が必要な月と日と一致するかどうかをテストします。それは次のようなものになります:FILTER(STRENDS(CONVERT(CHAR, ?value),"01-01") = true)
明らかに、上記の方法のどれも正常に動作していません。 私がSPARQLコマンドを使い始めたばかりのので、私のリクエストの構文が間違っていると非難しないでください。
私は非常にありがとう、または上の任意のヘルプに感謝します!
なぜタグMYSQLとSQLを追加しましたか?そして、なぜ「SQLで始まる」コマンドについて話していますか? SPARQL!= SQL – AKSW
また、質問の書式設定も役に立ちます。http://stackoverflow.com/help/formattingを参照してください。 – AKSW
DBpediaデータは非常に異質です。特に、日付リテラルはxsd:date、xsd:dateTime、xsd:gYear、等それはキャストとフィルタリングを非常に難しくします – AKSW