-, :
@prefix : <urn:ex:>
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>
:rule1 :begin "2011-01-10T14:45:13.815-05:00"^^xsd:dateTime ;
:end "2011-06-10T14:45:13.815-05:00"^^xsd:dateTime .
:rule2 :begin "2011-04-10T14:45:13.815-05:00"^^xsd:dateTime ;
:end "2011-10-10T14:45:13.815-05:00"^^xsd:dateTime .
:rule3 :begin "2011-06-10T14:45:13.815-05:00"^^xsd:dateTime ;
:end "2011-11-10T14:45:13.815-05:00"^^xsd:dateTime .
, , . , , :
prefix : <urn:ex:>
prefix xsd: <http://www.w3.org/2001/XMLSchema
select ?rule ?month {
values ?month { 1 2 3 4 5 6 7 8 9 10 11 12 }
?rule :begin ?begin ; :end ?end .
filter ( month(?begin) <= ?month && ?month <= month(?end) )
}
------------------
| rule | month |
==================
| :rule1 | 1 |
| :rule1 | 2 |
| :rule1 | 3 |
| :rule1 | 4 |
| :rule1 | 5 |
| :rule1 | 6 |
| :rule2 | 4 |
| :rule2 | 5 |
| :rule2 | 6 |
| :rule2 | 7 |
| :rule2 | 8 |
| :rule2 | 9 |
| :rule2 | 10 |
| :rule3 | 6 |
| :rule3 | 7 |
| :rule3 | 8 |
| :rule3 | 9 |
| :rule3 | 10 |
| :rule3 | 11 |
------------------
, :
prefix : <urn:ex:>
prefix xsd: <http://www.w3.org/2001/XMLSchema
select ?month (count(distinct ?rule) as ?numRules) where {
values ?month { 1 2 3 4 5 6 7 8 9 10 11 12 }
?rule :begin ?begin ; :end ?end .
filter ( month(?begin) <= ?month && ?month <= month(?end) )
}
group by ?month
--------------------
| month | numRules |
====================
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 2 |
| 6 | 3 |
| 7 | 2 |
| 8 | 2 |
| 9 | 2 |
| 10 | 2 |
| 11 | 1 |
--------------------
12- , . , , :
prefix : <urn:ex:>
prefix xsd: <http://www.w3.org/2001/XMLSchema
select ?month (count(distinct ?rule) as ?numRules) {
values ?month { 1 2 3 4 5 6 7 8 9 10 11 12 }
optional {
?rule :begin ?begin ; :end ?end .
filter ( month(?begin) <= ?month && ?month <= month(?end) )
}
}
group by ?month
--------------------
| month | numRules |
====================
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 2 |
| 6 | 3 |
| 7 | 2 |
| 8 | 2 |
| 9 | 2 |
| 10 | 2 |
| 11 | 1 |
| 12 | 0 |
--------------------