Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
rdf:type이 b:Device이고 b:Device의 위치가 o:techno인 경우에 DeviceType을 여러개 가지는(hasDeviceType)는 경우는 아래와 같이 sparql을 만들어서 or 기능을 구현할 수도 있다.(DeviceType이 o:motion-sensor_33 이거나 o:motion-sensor_32 경우)
-------------union으로 or을 구현한 예제
select distinct ?uri where {
?uri rdf:type b:Device.
?uri dul:hasLocation o:techno.
{ ?uri o:hasDeviceType o:motion-sensor_33 .}
union
{ ?uri o:hasDeviceType o:motion-sensor_32 .}
}
*참고 : sparql에서는 아래와 같이 각 ?s ?p ?o중의 하나에 직접 ||, &&, or , and등을 이용한 형태를 지원하지 않지 않으므로 filter문을 이용하여 처리해야 함
----지원하지 않는 형태----
select * where {
?s ?p ('a' or 'b')
}
----filter문을 이용해서 or을 구현한 형태
select *
where {
?uri rdf:type b:Device.
?uri dul:hasLocation o:techno .
?uri o:hasDeviceType ?devType .
filter (?devType = o:/motion-sensor_32 || ?devType = o:/motion-sensor_33) .
}
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
15 | fuseki의 endpoint를 이용한 insert, delete하는 sparql예시 | 2018.02.14 | 289 |
14 | 전체 컨택스트 내용 | 2017.12.19 | 285 |
» | DeviceType이 o:motion-sensor_33 이거나 o:motion-sensor_32 경우의 sparql문장은 다음과 같다. | 2017.08.16 | 1000 |
12 | federated query 예제 | 2017.01.19 | 925 |
11 | 특정문자열이나 URI를 임의로 select 절에 지정하여 사용할때 사용하는 sparql 문장 | 2016.08.25 | 632 |
10 | SPARQL의 유형, SPARQL 만들기등에 대한 설명 | 2016.02.18 | 433 |
9 | ?a는 모두 표시하면서 ?b와 비교하여 ?a=?b는 표시하고 ?a!=?b 인경우는 ""로 구성된 결과 집합을 구하는 경우 | 2016.01.29 | 916 |
8 | null 혹은 ""를 체크하는 방법 | 2016.01.27 | 759 |
7 | sparql 1.1 BIND(if() as ?bind변수) 버그로 추정되는 문제점및 해결방안 -> select 문에 (if(,,) as ?bind변수) | 2016.01.21 | 469 |
6 | 한번에 여러값 update하기 | 2016.01.13 | 563 |
5 | 문자열을 숫자(integer)로 casting하기 | 2016.01.13 | 1137 |
4 | update(update와 delete->insert)사용시 주의/참고사항 | 2016.01.06 | 888 |
3 | fuseki에 update하는 방법(java api이용)및 주의 사항 | 2015.12.30 | 872 |
2 | sparql 문법구조 설명 | 2015.12.09 | 844 |
1 | sparql에서 concat에제 | 2015.11.27 | 598 |