티스토리 뷰
위도와 경도를 통해 반경 몇 km안의 장소를 찾을 수 있다.
prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
select * where {
?s geo:lat ?slat.
?s geo:long ?slong.
bind(STR(concat("POINT(", ?slong, " ", ?slat, ")")) as ?point)
FILTER (bif:st_within(bif:st_geomFromText(?point), bif:st_point (128.676, 37.6427), 3))
}
필터 부분에 대한 설명을 덧붙이면
bif:st_within(bif:st_geomFromText(?point), bif:st_point (128.676, 37.6427), 3)
bif:st_within(A, B, C) 와 같은 형식으로 사용하는데
A는 찾는 대상,
B는 기준이 되는 위치
C는 반경 몇km인지를 기술한다.
이를 해석하자면 'B의 위치(위도 37.6427, 경도 128.676) 반경 3km안의 지점을 찾아라' 고 할 수 있겠다.
A에 해당하는 부분을 다시 살펴보면
bif:st_geomFromText(?point)
변수 ?point 의 내용을 geometry 형식으로 만드는 것이고
?point는 bind 구문을 통해
bind(STR(concat("POINT(", ?slong, " ", ?slat, ")")) as ?point)
찾을 대상을 POINT(경도 위도) 형태로 만들어 놓은 값이다.
B에 해당하는 부분은
bif:st_point (128.676, 37.6427) 이다.
A와 B 모두를 같은 형태의 값으로 만들어 bif:st_within 구문의 입력값으로 활용하면 된다.
'H:::SPARQL' 카테고리의 다른 글
H_17. SPARQL 설명 자료 (0) | 2020.08.28 |
---|---|
H_16. VALUES 키워드 (0) | 2019.12.09 |
H_14. 생물정보LOD SPARQL 튜닝 사례 (0) | 2016.02.16 |
H_13. SPARQL 사용하기 (4) | 2014.11.26 |
H_12. BIND와 BOUND (0) | 2014.08.01 |
- Total
- Today
- Yesterday
- stardog
- networkx
- Thymeleaf
- rdfox
- django
- 타임리프
- TopBraid Composer
- 지식 그래프
- RDF
- 지식그래프
- TDB
- sparql
- 사이퍼
- TBC
- 온톨로지
- RDF 변환
- pyvis
- 트리플
- 그래프 데이터베이스
- neosemantics
- Linked Data
- 장고
- cypher
- 트리플 변환
- Knowledge Graph
- 스프링부트
- LOD
- Ontology
- property graph
- Neo4j
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |