메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


PREFIX ref: <http://purl.org/vocab/relationship/>
PREFIX ic: <http://imi.ipa.go.jp/ns/core/210#>
prefix swrlb: <http://www.w3.org/2003/11/swrlb#>
prefix protege: <http://protege.stanford.edu/plugins/owl/protege#>
prefix ssn: <http://purl.oclc.org/NET/ssnx/ssn#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix dct: <http://purl.org/dc/terms/>
prefix icbms: <http://www.gooper.com/campus/>
prefix dc: <http://purl.org/dc/elements/1.1/>
prefix j.0: <http://data.qudt.org/qudt/owl/1.0.0/text/>
prefix owl: <http://www.w3.org/2002/07/owl#>
prefix xsp: <http://www.owl-ontologies.com/2005/08/07/xsp.owl#>
prefix swrl: <http://www.w3.org/2003/11/swrl#>
prefix skos: <http://www.w3.org/2004/02/skos/core#>
prefix DUL: <http://www.loa-cnr.it/ontologies/DUL.owl#>
prefix m2m: <http://www.gooper.com/m2m/>
prefix cc: <http://creativecommons.org/ns#>
prefix p1: <http://purl.org/dc/elements/1.1/#>
prefix foaf: <http://xmlns.com/foaf/0.1/>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix qudt: <http://data.nasa.gov/qudt/owl/qudt#>
prefix skos: <http://www.w3.org/2004/02/skos/core#>
prefix xsp: <http://www.owl-ontologies.com/2005/08/07/xsp.owl#>
prefix quantity: <http://data.nasa.gov/qudt/owl/quantity#>
prefix dct: <http://purl.org/dc/terms/>
prefix unit: <http://data.nasa.gov/qudt/owl/unit#>
prefix dim: <http://data.nasa.gov/qudt/owl/dimension#>
prefix oecc: <http://www.oegov.org/models/common/cc#>
#select ?person_loc ?observ_val ?avg_prefer_val ((?observ_val- ?avg_prefer_val) as ?dd) 
#(if(?observ_val = ?avg_prefer_val, "equal", if(?observ_val > ?avg_prefer_val, "big", "small")) as ?rtn2)
select *
where 
{
#    ?person_loc rdf:type DUL:PhysicalPlace;
    icbms:DT0001 rdf:type DUL:PhysicalPlace;
       rdf:type icbms:Domitory ;
       ssn:hasValue ?observ .
  ?observ rdf:type ssn:ObservationValue ;
    rdf:type icbms:TemperatureObservationValue ;
     qudt:hasNumericValue ?observ_val .
  bind(   (if(xsd:double(?observ_val) = xsd:double(?avg_prefer_val), "equal"^^xsd:string, "small"^^xsd:string)) as ?rtn)
  bind(if(?observ_val < 0,"a","b") as ?test1)
  bind(xsd:double(?observ_val) as ?test2)
  bind(xsd:double(?avg_prefer_val) as ?test3)
  BIND(?person_loc as ?test4) .
  {
   select ?person_loc (avg(?prefer_val) as ?avg_prefer_val) {
   ?person_id rdf:type foaf:Person ;
      rdf:type icbms:Student ;
      DUL:hasLocation ?person_loc ;
      icbms:hasPreference ?pre .
    ?pre rdf:type icbms:Preference ;
      icbms:hasPreferenceKind icbms:TemperaturePreference ;
      DUL:hasDataValue ?prefer_val .
    } group by (?person_loc)
  }
}
  
  
  
===================결과값================================
sparql_result_20160121_102703.png


rtn, test3, test4의 값이 null로 표시된다.

rtn을 구하기 위한 ?observ_val와 ?avg_prefer_val값이 있는데도 불구하고 말이다.

그러나 bind를 쓰지않고 select 절에 if문을 사용하면 정상적으로 처리된다.
(select에서는 bind를 구문을 사용하지 못하지만 (if(조건식,true일경우,false일경우) as ?rtn) 형태로 표현가능하다.)

  
번호 제목 날짜 조회 수
168 null 혹은 ""를 체크하는 방법 2016.01.27 1713
» sparql 1.1 BIND(if() as ?bind변수) 버그로 추정되는 문제점및 해결방안 -> select 문에 (if(,,) as ?bind변수) file 2016.01.21 1267
166 CDH 5.4.4 버전에서 hive on tez (0.7.0)설치하기 2016.01.14 1578
165 한번에 여러값 update하기 2016.01.13 1537
164 문자열을 숫자(integer)로 casting하기 2016.01.13 2123
163 update(update와 delete->insert)사용시 주의/참고사항 2016.01.06 1783
162 fuseki에 update하는 방법(java api이용)및 주의 사항 2015.12.30 1787
161 mongodb에서 큰데이타 sort시 오류발생에 대한 해결방법 2015.12.22 1857
160 console명령과 API비교 2015.12.21 1888
159 java quartz 시간 설정 참고사항 2015.12.16 1533
158 천문학적, 기후학적, 기상학적, 생물학적, 농사계절 구분 2015.12.16 1528
157 대표 오픈소스 라이선스, 한 눈에 보기! 2015.12.10 1662
156 sparql 문법구조 설명 file 2015.12.09 1909
155 git설명 한글판 2015.12.09 1540
154 protege 4.3 다운로드 2015.12.09 1055
153 ontology, jena, sparql등 전반에 대한 설명및 예제를 제공하는 사이트 2015.12.08 1291
152 마이바티스(MyBatis)쿼리로그 출력및 정렬하기 2015.12.01 2606
151 sparql에서 concat에제 2015.11.27 1491
150 Runtime.getRuntime().exec(cmd) sample 소스 2015.11.19 1321
149 Resource temporarily unavailable(자원이 일시적으로 사용 불가능함) 오류조치 2015.11.19 9449
위로