2
我正在學習sparql,我正在處理select查詢,我想將ASK查詢的結果綁定到對象變量。在sparql中綁定ASK查詢的結果
ASK查詢正在處理它自己的問題,但我在另一個查詢中使用查詢時遇到問題。
這是ASK查詢:
PREFIX schema: <http://domain.com/app/schema/>
ASK { GRAPH <http://domain.com/app/data/something> {
?s schema:code "ANS"^^<http://www.w3.org/2001/XMLSchema#string> ;
schema:someid "12345678"^^<http://www.w3.org/2001/XMLSchema#string> ;
schema:startdate ?startdate .
OPTIONAL { ?s schema:enddate ?enddate }
BIND(IF(BOUND(?enddate), ?enddate, now()) AS ?resultdate)
FILTER(?resultdate >= now() && ?startdate < now())
}
}
這將返回true或false取決於該ID。
我現在想的是,返回這樣的兩列的查詢:
+----------+--------+
| ID | STATUS |
+----------+--------+
| 12345678 | true |
| 87654321 | false |
+----------+--------+
我做了一些嘗試,但我不能生產與有效語法查詢:
PREFIX schema2: <http://domain.com/app2/schema/>
PREFIX schema: <http://domain.com/app/schema/>
select ?s ?p ?o
where
{ GRAPH <http://http://domain.com/app2/data/something>
{?s ?p ?o } .
BIND() {
ASK { GRAPH <http://domain.com/app/data/something> {
?s schema:code "ANS"^^<http://www.w3.org/2001/XMLSchema#string> ;
schema:someid "12345678"^^<http://www.w3.org/2001/XMLSchema#string> ;
schema:startdate ?startdate .
OPTIONAL { ?s schema:enddate ?enddate }
BIND(IF(BOUND(?enddate), ?enddate, now()) AS ?resultdate)
FILTER(?resultdate >= now() && ?startdate < now())
}
}
}
FILTER(?s = <http://domain.com/app2/data/something/100024>)
}
任何有關如何實現這一目標的建議/例子?
這太棒了!不知道EXISTS運營商。謝謝! – andebor