H:::SPARQL
H_11. IF를 통한 분류
joyHong
2014. 1. 23. 11:24
레이블에 따라서 가, 나, 다...등으로 구분하고자할 때
regex, if, bind를 통하여
질의가 가능하다.
쿼리
-----------------------------------------------------
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select * where {
?s rdfs:label ?o .
filter(lang(?o)='ko')
bind (
if( regex(str(?o), '^[가-깋]'),'가',
if( regex(str(?o), '^[나-닣]'),'나',
if( regex(str(?o), '^[다-딯]'),'다','none'))
) as ?t )
} limit 50
-----------------------------------------------------
설명
bind(xxx as 변수)
if(조건, true일 경우값, false일 경우값)
결과
?s ?o ?t
-------------------
x 기상@ko 가
t 난초@ko 나
a 내일@ko 나
--------------------