[英]SPARQL Query : How to filter xsd:dateTime by time?
我真的沒有在網上找到任何東西,這就是我在這里問的原因。 我有以下查詢:
“歸還所有喜歡早上離開的人”
myns 是我在 Protedge 中的本體的前綴。 這是我到目前為止寫的:
SELECT ?person
WHERE {
?person myns:bookTicket ?ticket.
?ticket myns:hasFligth ?fligth.
?fligth myns:hasDepartureTime ?time.
FILTER ( how to return ?time that depart in the morning so < 1pm )
}
這里 myns:hasDepartureTime 返回一個 xsd:dateTime 類型(例如“2022-05-04T22:00:00” )。 我知道如何按日期過濾,但我真的不知道如何提取時間,所以我可以按時間過濾。 我需要返回所有早上出發的航班,這樣我才能完成我的目標。 因為無論我使用哪個時間,FILTER 總是會先看當天,我不在乎航班是哪一天起飛,而只關心它的時間。
但我真的不知道如何提取時間,所以我可以按時間過濾它。
在過濾器中的 xsd:dateTime 文字上使用小時和分鍾函數
例如:
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
select ?dt {
values ?dt {
"2022-07-18T10:06:41.756+00:00"^^xsd:dateTime
"2022-07-18T17:06:41.756+00:00"^^xsd:dateTime
"2022-07-18T14:06:41.756+00:00"^^xsd:dateTime
"2022-07-18T08:06:41.756+00:00"^^xsd:dateTime
}
filter ( hours(?dt) < 13 )
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.