H:::SPARQL
H_6. fn을 이용한 현재 나이 계산
joyHong
2012. 6. 5. 17:10
나이는 시간이 흐름에 따라 변하기 때문에 instance 값으로 지정하여 넣기가 애매하다.
따라서 출생년도를 통해 계산하도록 꼼수(?)를 부려보았다.
----------------------------------------------
SELECT ?s ?age
WHERE {
?s ec:birthday ?bday .
BIND (fn:substring(str(?bday), 0, 4) AS ?y) .
BIND (fn:substring(str(afn:now()), 0, 4) AS ?n) .
BIND (((xsd:int(?n) - xsd:int(?y)) + 1) AS ?age) .
}
----------------------------------------------
ec:birthday는 xsd:date 형으로서
현재 날짜와 birthday의 앞 4자리를 취해
나이를 계산하는 쿼리..