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)
}
}
===================결과값================================
rtn, test3, test4의 값이 null로 표시된다.
rtn을 구하기 위한 ?observ_val와 ?avg_prefer_val값이 있는데도 불구하고 말이다.
그러나 bind를 쓰지않고 select 절에 if문을 사용하면 정상적으로 처리된다.
(select에서는 bind를 구문을 사용하지 못하지만 (if(조건식,true일경우,false일경우) as ?rtn) 형태로 표현가능하다.)
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
15 | fuseki의 endpoint를 이용한 insert, delete하는 sparql예시 | 2018.02.14 | 310 |
14 | 전체 컨택스트 내용 | 2017.12.19 | 285 |
13 | DeviceType이 o:motion-sensor_33 이거나 o:motion-sensor_32 경우의 sparql문장은 다음과 같다. | 2017.08.16 | 1007 |
12 | federated query 예제 | 2017.01.19 | 925 |
11 | 특정문자열이나 URI를 임의로 select 절에 지정하여 사용할때 사용하는 sparql 문장 | 2016.08.25 | 652 |
10 | SPARQL의 유형, SPARQL 만들기등에 대한 설명 | 2016.02.18 | 433 |
9 | ?a는 모두 표시하면서 ?b와 비교하여 ?a=?b는 표시하고 ?a!=?b 인경우는 ""로 구성된 결과 집합을 구하는 경우 | 2016.01.29 | 917 |
8 | null 혹은 ""를 체크하는 방법 | 2016.01.27 | 759 |
» | 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 | 1160 |
4 | update(update와 delete->insert)사용시 주의/참고사항 | 2016.01.06 | 889 |
3 | fuseki에 update하는 방법(java api이용)및 주의 사항 | 2015.12.30 | 873 |
2 | sparql 문법구조 설명 | 2015.12.09 | 869 |
1 | sparql에서 concat에제 | 2015.11.27 | 598 |