메뉴 건너뛰기

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) 형태로 표현가능하다.)

  
번호 제목 날짜 조회 수
38 동시에 많은 요청이 endpoint로 몰려서java.net.NoRouteToHostException가 발생하는 경우의 처리방법 2016.10.17 3408
37 halyard 1.3을 다른 서버로 이전하는 방법 2017.07.05 3500
36 RDF4J의 rdf4j-server.war가 제공하는 RESTFul API를 이용한 CRUD테스트(트랜잭션처리) 2017.08.30 3517
35 --master yarn 옵션으로 spark client프로그램 실행할때 메모리 부족 오류발생시 조치방법 2016.05.27 3522
34 워킹 메모리에 대한 정보를 처리하는 클래스 파일 2016.07.21 3523
33 RDF4J의 rdf4j-server.war가 제공하는 RESTFul API를 이용하여 repository에 CRUD테스트 2017.08.30 3592
32 update를 많이 하면 heap memory가 많이 소진되고 최종적으로 OOM가 발생하는데 이에 대한 설명 2017.04.10 3606
31 jena jar파일실행시 org.apache.jena.tdb.TDB.init에서 java.lang.NullPointerException발생시 조치사항 2016.08.19 3611
30 프로그래밍 언어별 딥러닝 라이브러리 정리 file 2016.10.05 3615
29 federated query 예제 2017.01.19 3627
28 jena/fuseki 3.4.0 설치 2017.07.25 3630
27 halyard 1.3의 console을 이용하여 100억건의 데이타에 대한 쿼리수행시 ScannerTimeoutException 발생시 조치사항 2017.09.06 3647
26 queryTranslator실행시 NullPointerException가 발생전에 java.lang.ArrayIndexOutOfBoundsException발생시 조치사항 2016.06.16 3691
25 [oneM2M]Ontologies used for oneM2M 2017.08.02 3701
24 DeviceType이 o:motion-sensor_33 이거나 o:motion-sensor_32 경우의 sparql문장은 다음과 같다. 2017.08.16 3704
23 ?a는 모두 표시하면서 ?b와 비교하여 ?a=?b는 표시하고 ?a!=?b 인경우는 ""로 구성된 결과 집합을 구하는 경우 file 2016.01.29 3710
22 fuseki에 update하는 방법(java api이용)및 주의 사항 2015.12.30 3715
21 거침없이 배우는 Drools 책의 샘플소스 file 2016.07.22 3727
20 fuseki webUI를 통해서 전체 카운트를 하면 급격하게 메모리를 소모해 버리는 문제가 있음 file 2017.04.28 3742
19 update(update와 delete->insert)사용시 주의/참고사항 2016.01.06 3747
위로