P. Huto, CONSTRUCT{ ?x huto:leapYear true } WHERE{ ?x a huto:Year ; huto:value ?y . BIND((?y / 400) as ?y1) BIND(ROUND(?y1) as ?y2) FILTER(?y1 = ?y2)}

P. Huto, CONSTRUCT{ ?x huto:hasEnd [ ?j ?l ; huto:hasDay [a huto:Day ; huto:value ?d3] ; huto:hasMonth [a huto:Month ; huto:number ?m2] ; huto:hasYear [a huto:Year ; huto:value ?y1]]} Where{ ?x huto:hasBegin ?p ; huto:hasDuration/huto:hasDay/huto:number ?d. ?p huto:hasMonth/huto:number ?m

|. Hasmonth and . Huto, hasDay || ?j != huto:hasYear) FILTER NOT EXISTS{?x huto:hasEnd ?h} } PREFIX huto: <http://ns.inria.fr/huto/> CONSTRUCT{ ?x huto:hasEnd [ ?j ?l ; huto:hasDay [a huto:Day ; huto:value ?d3] ; huto:hasMonth [a huto:Month ; huto:number ?m2]]} WHERE{ ?x huto:hasBegin ?p ; huto:hasDuration/huto:hasDay/huto:number ?d1, FILTER